Wie vermeide ich mehrere Schaltflächen-Klick zur gleichen Zeit in Android?

Ich benutze zwei Tasten in Sicht. Beim gleichzeitigen Klicken auf zwei Tasten geht es zu einer anderen Aktivität. Wie kann man das vermeiden?

Ich habe so versucht, aber es funktioniert nicht, bitte sparen ….

  • Wie fügt man String-Ressourcen in Eclipse hinzu?
  • Können wir iBeacon verwenden, um Daten über Bluetooth in iOS - android zu übertragen?
  • Android - Wie kann ich den Menüpunkt Text außerhalb von onOptionsItemsSelected oder onCreateOptionsMenu dynamisch ändern
  • Ist eine Android-GCM-Geräte-ID jemals verändert?
  • Ich möchte, dass meine Android-Anwendung nur im Hochformat betrieben wird?
  • Play-Benachrichtigung nur Standard-Sound (Android)
  • public class MenuPricipalScreen extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.menu_principal_layout); findViewById(R.id.imageView2).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub disable(findViewById(R.id.imageView3)); Intent intent = new Intent(MenuPricipalScreen.this, SelectYourLanguageVideo.class); startActivity(intent); } }); findViewById(R.id.imageView3).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub disable(findViewById(R.id.imageView2)); Intent intent = new Intent(MenuPricipalScreen.this, CategoryScreen.class); intent.putExtra("request", "false"); startActivity(intent); } }); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); ((ImageView) findViewById(R.id.imageView3)).setEnabled(true); ((ImageView) findViewById(R.id.imageView2)).setEnabled(true); ((ImageView) findViewById(R.id.imageView3)).setClickable(true); ((ImageView) findViewById(R.id.imageView2)).setClickable(true); ((ImageView) findViewById(R.id.imageView3)).setFocusable(true); ((ImageView) findViewById(R.id.imageView2)).setFocusable(true); } private void disable(View v) { Log.d("TAG", "TAG" + v.getId()); v.setEnabled(false); v.setClickable(false); v.setFocusable(false); } } 

    Vielen Dank,

  • Wie hoch ist die Android-Toolbar?
  • Warum gibt es keinen Platz zwischen CardViews auf Lollipop?
  • Android, setSelected () und state_selected
  • Zoomen und Ziehen von Bildern mit Matrix in Android
  • Fragment oder nicht zu Fragment - verschachtelte Fragmente gegen Aktivitäten. Warum sollte ich mehr als eine Aktivität verwenden?
  • Wie zu testen upgrade sqlite Datenbank vor dem Hochladen der neuen Version meiner App auf Play Store in Android
  • 5 Solutions collect form web for “Wie vermeide ich mehrere Schaltflächen-Klick zur gleichen Zeit in Android?”

    Die Standardmethode, um mehrere Klicks zu vermeiden, besteht darin, die zuletzt angeklickte Zeit zu speichern und die anderen Klicks innerhalb von 1 Sekunde (oder einer beliebigen Zeitspanne) zu vermeiden. Beispiel:

     // Make your activity class to implement View.OnClickListener public class MenuPricipalScreen extends Activity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { // setup listeners. findViewById(R.id.imageView2).setOnClickListener(MenuPricipalScreen.this); findViewById(R.id.imageView3).setOnClickListener(MenuPricipalScreen.this); ... } . . . // variable to track event time private long mLastClickTime = 0; // View.OnClickListener.onClick method defination @Override public void onClick(View v) { // Preventing multiple clicks, using threshold of 1 second if (SystemClock.elapsedRealtime() - mLastClickTime < 1000) { return; } mLastClickTime = SystemClock.elapsedRealtime(); // Handle button clicks if (v == R.id.imageView2) { // Do your stuff. } else if (v == R.id.imageView3) { // Do your stuff. } ... } . . . } 

    Du kannst die Multi-Touch auf deiner App deaktivieren, indem du diesen android:splitMotionEvents="false" und android:windowEnableSplitTouch="false" in deinem Thema.

     <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> ... <item name="android:splitMotionEvents">false</item> <item name="android:windowEnableSplitTouch">false</item> </style> 

    Sie können versuchen, meine kleine Bibliothek, es bietet, was genau Sie wollen mit dem gleichen Ansatz wie Shivanand 'Lösung. https://github.com/RexLKW/SClick

    Eine "Bessere" Praxis ist, den onClickListener so zu benutzen ->

     OnClickListener switchableListener = new OnClickListener(@Override public void onClick(View arg0) { arg0.setOnClickListener(null); (or) use the view directly as a final variable in case of errors ex : textView.setOnClickListener(null); // Some processing done here Completed , enable the onclicklistener arg0.setOnClickListener(switchableListener); }); 

    Dies sollte das Problem beheben und seine ganz einfache Art, Dinge zu behandeln

    Mein Vorschlag für Sie ist in jedem Button klicken, bevor Sie einen anderen Code verwenden, verwenden Sie die Methode hasFocus (). Nur eine Ansicht kann zu einem bestimmten Zeitpunkt fokussieren, also sollte dies Sie davon abhalten, auf beide klicken zu können

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.