Wie kann ich Touch-Ereignis unterschiedlicher Ansicht in Single-Touch erhalten, wie Sie in Bild unten sehen können.Wie erhalten Touch-Ereignis für andere Ansicht in Single-Touch in Android?
hatte ich mit
private void showAlert() {
dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.temp_view);
Button btnOne = (Button) dialog.findViewById(R.id.btnOne);
Button btnTwo = (Button) dialog.findViewById(R.id.btnTwo);
Button btnThree = (Button) dialog.findViewById(R.id.btnThree);
btnTwo.setFocusableInTouchMode(true);
btnTwo.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.e("Down", ">>>>>>>>>>>>>button Two Down <<<<<<<<<<<<<<<");
break;
case MotionEvent.ACTION_UP:
Log.e("Down", ">>>>>>>>>>>>>button Two UP <<<<<<<<<<<<<<<");
break;
}
return false;
}
});
btnThree.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.e("Down", ">>>>>>>>>>>>>button 3 Down <<<<<<<<<<<<<<<");
break;
case MotionEvent.ACTION_UP:
Log.e("Down", ">>>>>>>>>>>>>button 3 UP <<<<<<<<<<<<<<<");
break;
}
return false;
}
});
btnOne.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.e("Down", ">>>>>>>>>>>>>button One Down <<<<<<<<<<<<<<<");
break;
case MotionEvent.ACTION_UP:
Log.e("Down", ">>>>>>>>>>>>>button One UP <<<<<<<<<<<<<<<");
break;
}
return false;
}
});
btnOne.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(TempTwitterTimelineActivity.this, "One", Toast.LENGTH_SHORT).show();
}
});
View v = dialog.getCurrentFocus();
if (v != null)
switch (v.getId()) {
case R.id.btnOne:
Toast.makeText(TempTwitterTimelineActivity.this, "One", Toast.LENGTH_SHORT).show();
break;
case R.id.btnTwo:
Toast.makeText(TempTwitterTimelineActivity.this, "Two", Toast.LENGTH_SHORT).show();
break;
case R.id.btnThree:
Toast.makeText(TempTwitterTimelineActivity.this, "Three", Toast.LENGTH_SHORT).show();
break;
}
dialog.show();
}
versuchen, aber es funktioniert nur, wenn ich eine andere Taste erneut berühren.
Ich habe eine Aktivität mit Knopf, einen benutzerdefinierten Dialog auf Tastendruck-Ereignis, in benutzerdefinierten Dialog Öffnen Ich habe drei Schaltfläche Wie, Teilen und anzeigen I mit Knopf dh Benutzer-Profile anzeigen Funktion Associate nennen möchte aber andere zweite Berührung, als wenn MotionEvent.ACTION_UP: Feuer ist Ich beende den Dialog.
ist hier Öffnen-Dialog Code
txtTemp.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
if (dialog != null) {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
break;
}
return false;
}
});
für bekommen hier klare Vorstellung ist zweite Bild, wo ich zeigen, berührt von Entwickler Option aktivieren und Screenshots.
Bitte erklären, was das Problem ein bisschen mehr ist. Ich lese deine Frage, ich weiß nicht, was du zu lösen versuchst. – CaptJak
Ich habe mehr Informationen und Code in Frage hinzugefügt, ich möchte Funktionalität wie in Instagram Suchbildschirm implementieren, wenn eine lange Berührung in der Suchergebnis zu dieser Zeit Ansicht ist offen, dass Art der Ansicht möchte ich machen. –
Ich verstehe immer noch nicht, was Sie tun möchten. Möchten Sie eine Methode aufrufen, wenn eine der drei Schaltflächen berührt wird? – CaptJak