我想在碎片上使用背壓。我無法修復它。以下是我的代碼如下。backPress如何在片段中工作?
/**
* Diplaying fragment view for selected nav drawer list item
* */
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
if (position!=3){
pos = position;
}
switch (position) {
case 0:
fragment = new Profile();
break;
case 1:
fragment = new Products();
break;
case 2:
fragment = new Help();
break;
case 3:
DialogLogout(DrawerFragment.this, getString(R.string.logout), getString(R.string.cofirm_logout));
break;
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment)
.commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(pos, true);
mDrawerList.setSelection(pos);
setTitle(navMenuTitles[pos]);
mDrawerLayout.closeDrawer(mDrawerList);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
關於產品片段我有列表,我再次用它來調用另一個片段。上DrawerFragmentActivity
listCards.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Fragment fragment = new Transactions();
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
// .replace(R.id.frame_container, fragment)
.remove(Products.this)
.add(R.id.frame_container, fragment) //replace(R.id.frame_container, fragment)
.addToBackStack(null)
.commit();
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
});
return rootView;
}
BackPress功能是象下面這樣:
@Override
public void onBackPressed() {
FragmentManager fragmentManager = getSupportFragmentManager();
int count = fragmentManager.getBackStackEntryCount();
if (count > 0) {
fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
} else {
super.onBackPressed();
}
}
功能會是這樣,DrawerFragmentActivity(默認資料頁) - >產品 - >交易。 「交易」屏幕上也會顯示抽屜圖標,用戶可以使用抽屜在交易屏幕上再次點擊我的卡片屏幕。
當用戶點擊產品時,它會再次打開交易頁面,它工作正常。現在發生了什麼,當我們點擊返回到產品頁面上的交易時,但是當我再次點擊產品列表屏幕(框架)與產品列表和交易屏幕重疊時。
對不起,如果我很困惑,請問你是否不明白。我可以解釋。
謝謝。
非常感謝,我一直在努力從最後一個星期。你真的做了我的一天。 :) 再次感謝。 – Shivv
歡迎兄弟 – Android