2016-10-07 28 views
0

我想返回到單身背壓和雙壓力退出應用程序的家庭活動,但它不能正常工作我已經添加下面的代碼親切地幫助我。如何返回到單身背壓的家庭活動

if (doubleBackToExitPressedOnce) 
{ 
      replaceFragment(new HomeActivity()); 
      super.onBackPressed(); 
      return; 
     } 

     this.doubleBackToExitPressedOnce = true; 
     Toast.makeText(this, "Please click BACK again to exit.", Toast.LENGTH_SHORT).show(); 

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

請幫助我。

+0

是「HomeActivity」的一個片段嗎? –

+0

是的它的一個片段 –

+0

任何人有任何想法,請幫助我。 –

回答

0

只是在你的處理器的運行方法添加此

  @Override 
      public void run() { 
       replaceFragment(new HomeActivity()); 
       ActivityName.super.onBackPressed(); 
       doubleBackToExitPressedOnce = false; 
      } 

OR 作出這樣

else{ 
replaceFragment(new HomeActivity()); 
      super.onBackPressed(); 
} 
+0

無法正常工作。 –

+0

你已經實現了哪一個? –

+0

if(doubleBackToExitPressedOnce){ } else –

0
private static final int BACK_PRESS = 76; 

private Handler mHandler = new Handler() { 
    @Override 
    public void handleMessage(Message msg) { 
     super.handleMessage(msg); 
     if (BACK_PRESS == msg.what) { 
      goBack(); 
     } 
    } 
}; 

private void goBack() { 
    super.onBackPressed(); 
} 

@Override 
public void onBackPressed() { 
    if (mHandler.hasMessages(BACK_PRESS)) { 
     mHandler.removeMessages(BACK_PRESS); 
     replaceFragment(new HomeActivity()); 
    } else { 
     mHandler.sendEmptyMessageDelayed(BACK_PRESS, 500); // Your activity will close after 500ms 
    } 
} 

,你可以在你的情況不同的方式使用其他處理方法。

+0

什麼是msg.what?如果條件爲 –

+0

這只是我們使用mHandler.sendEmptyMessageDelayed(BACK_PRESS,500);發送給處理程序的空信息。這將以「BACK_PRESS」作爲「what」值創建一條空消息。 –

+0

它沒有奏效? –

相關問題