2016-11-19 4 views
0

im Erstellen von App, wo wir Knopf mit dem Finger bewegen können. Es ist in Ordnung, wenn ich drücken Sie die Taste nicht, aber wenn ich tun, er ist seine eigene Funktion anstelle von „main“ OnTouchKnopf Anruf "Haupt" onTouch anstelle seiner eigenen

Beispielcode Aufruf:

 final Button b = new Button(this); 
     b.setText("Something"); 
     b.setX(50); 
     b.setY(50); 
     b.setId((int) 1); 
      b.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       return false; 
      } 
     }); 
     layout.addView(b); 

Und er wird seine eigene Funktion aufrufen, und ich will ihn nennen dies:

@Override 
public boolean onTouch(View v, MotionEvent event) { 
    moving(); 
} 

gibt es eine Möglichkeit zweite OnTouch von Knopf OnTouch anrufen?

Antwort

1

Wenn Sie die "main" OnTouch in der Aktivität implementiert

b.setOnTouchListener(this); 

Andernfalls rufen Sie einfach die Methode

b.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     moving(): 
     return false; 
    } 
}); 
Verwandte Themen