我想實現雙重背壓在我的FRAGMENT(不MainActivity)之一我的應用程序 我寫了這段代碼,但它不工作。如何實現退出雙重背部按下片段[Android]
這是我的片段:
public class DashBoard extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.dashboard, container, false);
rootView.setFocusableInTouchMode(true);
rootView.requestFocus();
rootView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (back_pressed++ > System.currentTimeMillis()) {
Log.d("Time backpressed..if", "" + back_pressed + 2000);
Log.d("Time system..if", "" + System.currentTimeMillis());
getActivity().finish();
} else {
Toast.makeText(getActivity(), "Press once again to exit!", Toast.LENGTH_SHORT).show();
back_pressed = System.currentTimeMillis();
Log.d("Time backpressed..else", "" + back_pressed);
Log.d("Time system..else", "" + System.currentTimeMillis());
}
}
return true;
}
return false;
}
});
任何建議..
只需創建一個接口,您的主要活動,並有關鍵事件觸發的方法在你的主要活動來關閉應用程序。 – nukeforum
back_pressed back_pressed ++> System.currentTimeMillis()? 執行內部代碼嗎? –
不是一個答案,而是後代:作爲一般規則,這不是一個很好的行爲來補充。如果可能的話,應用程序應該能夠退出並重新加載足夠快的速度,要求用戶使用額外的步驟進行確認不應該值得。如果恢復用戶離開的地方是沒有意義的,但也有例外,但這種情況很少見。 –