2015-01-17 2 views

ответ

0

Запустить событие дважды в переопределены методом щелчка

Button mClickButton1 = (Button)findViewById(R.id.clickButton1); 
mClickButton1.setOnClickListener(this); 

@Override 
public void onClick(View v) { 
    event(); 
    event(); 
} 
0

, если нажать на кнопку назад он будет вызывать метод ниже:

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
} 

и этот метод будет называть super.onBackPressed (); что это вызовет приложение для завершения и прекратит его.

, если вам нужно вызвать некоторые методы при нажатии кнопки назад дважды, вы должны реализовать счетчик для прессы, как метод ниже:

@Override 
public void onBackPressed() { 
    long t = System.currentTimeMillis(); 
    if (backPressedTime == '') { 
     backPressedTime = t; 
     counter = 1; 
    } 
    else if (t - backPressedTime > 2000) { // 2 secs 
     counter = 0; 
     backPressedTime = t; 
     Toast.makeText(MainActivity.this, R.string.retry_to_exit, 
        Toast.LENGTH_SHORT).show(); 
    } 
    else 
    { 
     counter++; 
     if(counter > 2) 
     { 
     } 
     else 
     { 
     // this guy is serious 
     // clean up 
     super.onBackPressed(); // bye 
     finish(); 
     } 
    } 

} 

и в конце концов, если вам нужно вызвать некоторые методы в backpress событий, может добавить свой метод

@Override 
public void onBackPressed() { 
    yourEvent(); 
    yourEvent(); 
    super.onBackPressed(); 
} 

, если вам нужно работать в другом потоке можно назвать

new Runnable() { 

     @Override 
     public void run() { 
      yourMethod() 
     } 
    }; 

, и если вам нужно позвонить методам с некоторой задержкой, вы можете использовать

    Handler handler = new Handler(); 
        handler.postDelayed(new Runnable() { 
         @Override 
         public void run() { 
          tourMethod(); 
         } 
        }, 2000);