Java 如何从一个活动调用fragmentactivity?
我试图利用这个意图从一个片段转到另一个活动。当我想在此活动中调用上一个Java 如何从一个活动调用fragmentactivity?,java,android,android-fragments,Java,Android,Android Fragments,我试图利用这个意图从一个片段转到另一个活动。当我想在此活动中调用上一个片段活动时,应用程序会由于java.lang.IllegalStateException:在onSaveInstanceState之后无法执行此操作而崩溃。我想这是因为我将transaction.commit()应用到了导致崩溃的FragmentActivity。但是,如果我删除transaction.commit(),则该片段似乎不会出现在屏幕上。有什么好办法吗 public void onReturn(APIReturn
片段活动时,应用程序会由于java.lang.IllegalStateException:在onSaveInstanceState之后无法执行此操作而崩溃。我想这是因为我将transaction.commit()
应用到了导致崩溃的FragmentActivity
。但是,如果我删除transaction.commit()
,则该片段似乎不会出现在屏幕上。有什么好办法吗
public void onReturn(APIReturn result) {
switch (result.state) {
case ServerError:
Toast.makeText(EditProfile.this, "Check your internet connection.", Toast.LENGTH_SHORT).show();
break;
case Success:
Toast.makeText(EditProfile.this, "Success.", Toast.LENGTH_LONG).show();
startActivity(new Intent(EditProfile.this, MainActivity.class));
break;
}
}
main活动
是我想从EditProfile
调用的FragmentActivity
。在MainActivity
中,有一个showFragment()
方法具有commit()代码>最后
public void showFragment(int position) {
FragmentTransaction transaction = fm.beginTransaction();
hideFragments(transaction);
switch (position) {
case 0:
if (fg1 == null) {
fg1 = new SpelersFragment();
transaction.add(R.id.fl_content, fg1);
} else {
transaction.show(fg1);
}
break;
case 1:
if (fg2 == null) {
fg2 = new WedstrijdenFragment();
transaction.add(R.id.fl_content, fg2);
} else {
transaction.show(fg2);
}
break;
case 2:
if (fg3 == null) {
fg3 = new ProfileFragment();
transaction.add(R.id.fl_content, fg3);
} else {
transaction.show(fg3);
}
break;
}
transaction.commit();
}
您如何将结果传递回MainActivity?流是否与以下内容类似:MainActivity-->EditProfileActivity-->MainActivity?是。确切地在MainActivity的一个片段中,我调用了EditProfileActivity的意图。编辑完成后,我想返回MainActivity并显示默认片段。您是否尝试过commitAllowingStateLoss()?