父活动有3个片段A,B和C.当我选择片段B显示一个fab按钮,调用新的Activity(Contact Activity)获得结果然后我在Contact Activity中调用了finish()方法它没有返回片段B而是显示带有A片段的Parent Activity。
onCreate()方法设置第一个片段A.
if(messaging_fragment == null) {
messaging_fragment = new all_messaging_fragment();
}
fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frameLayout, messaging_fragment).commit();
父活动使用setFragment()方法替换片段。
private void setFragment(android.support.v4.app.Fragment fragment, String tag)
{
fragmentManager.beginTransaction().replace(R.id.frameLayout,fragment).addToBackStack(tag).commit();
}
片段B为结果调用了新的Activity。
FloatingActionButton createMessageFloatButton = (FloatingActionButton) rootview.findViewById(R.id.createNewGroupFloatbutton);
createMessageFloatButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getContext(),add_contact_list_activity.class);
startActivityForResult(intent,2);
}
});
Contact Activity调用finish()方法。
ImageView back_button = (ImageView) findViewById(R.id.back_button_conatc_List_id);
back_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setResult(2);
finish();
}
});
答案 0 :(得分:0)
也许您应该在onCreate()中“添加” messaging_fragment来设置第一个片段A。让我们知道它是否有效。