[英]How to achive swipe left and right on activity containg 2 fragments in android?
[英]Android, how many fragments left
我需要在用戶離開應用程序時向我的應用程序添加顯示消息的可能性(即,您要離開嗎?是-否)
我正在使用片段,所以我真的不知道哪個是最后一個在“ onBackPressed”上顯示該消息的方法,所以有沒有辦法知道還剩下多少片段或我錯過了什么?
如果您使用的是ViewPager
,則可以使用ViewPager
的getCurrentItem() method
獲取currentFragment編號,
然后實現Activity
的onBackPressed
方法,無論用戶位於onBackPressed
片段上,都將調用該方法,仍然可以將currentFragment編號與片段的totalNumber進行比較,並顯示一條消息。
private boolean exit = false;
@Override
public void onBackPressed() {
// implement a logic on backPressed, I have added a logic
// it show a toast, if the user presses back again within
// three seconds, the activity closes.
if (exit)
Home.this.finish();
else {
Toast.makeText(this, "Press Back again to Exit.",
Toast.LENGTH_SHORT).show();
exit = true;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
exit = false;
}
}, 3 * 1000);
}
}
我需要的是getSupportFragmentManager()getBackStackEntryCount()
@Override
public void onBackPressed() {
if(getSupportFragmentManager().getBackStackEntryCount() == 0){
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
MainActivity.this.finish();
break;
case DialogInterface.BUTTON_NEGATIVE:
break;
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(getString(R.string.leave_app)).setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", dialogClickListener).show();
} else {
super.onBackPressed();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.