[英]Android Fragment Backstack not showing
i'm developing an application where I have tabs and fragments within each tab. 我正在开发一个应用程序,其中每个选项卡中都有选项卡和片段。 I got it to work where it shows my listview on launch and when I click a name in the list its goes to the next fragment, but when I hit the back button it doesn't go back to the listview I just get a blank screen.
我可以在启动时显示我的列表视图的情况下工作,当我单击列表中的名称时,它会转到下一个片段,但是当我单击“后退”按钮时,它不会返回到列表视图,只会出现一个空白屏幕。 I'm sure it's a simple answer and I have posted some code snippets, if more is needed please let me know.
我敢肯定,这是一个简单的答案,我已经发布了一些代码段,如果需要更多代码段,请告诉我。 Thank you for your help.
谢谢您的帮助。
public class HomeStackActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragmentstackctivity);
// add initial fragment, do not add to back stack, no transition animation
addFragment(new MyCommentActivity(), false, FragmentTransaction.TRANSIT_NONE);
}
void addFragment(Fragment fragment, boolean addToBackStack, int transition) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment1, fragment);
ft.setTransition(transition);
if (addToBackStack)
ft.addToBackStack(null);
ft.commit();
}
public void onBackPressed() {
FragmentManager manager = getSupportFragmentManager();
if (manager.getBackStackEntryCount() > 0)
getSupportFragmentManager().popBackStack();
else
finish();
}
}
public class nameOnClickListener implements OnClickListener{
private int position;
public nameOnClickListener(int position){
this.position=position;
}
@Override
public void onClick(View v) {
HashMap<String, String> update = new HashMap<String, String>();
update = commentList.get(position);
Log.d("Testing Click", update.get(MyCommentActivity.KEY_UID));
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(getActivity());
SharedPreferences.Editor edit = sp.edit();
edit.putString("profile_id", update.get(MyCommentActivity.KEY_UID));
edit.putString("profile_type", update.get(MyCommentActivity.KEY_TYPE));
edit.commit();
addFragment(new UserProfileActivity(), true, FragmentTransaction.TRANS
change: 更改:
ft.replace(R.id.fragment1, fragment);
to: 至:
ft.add(R.id.fragment1, fragment);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.