【发布时间】:2019-10-22 18:53:21
【问题描述】:
我已经尽我所能来解决我的问题,这与无法找到视图的片段管理器的许多其他人一样。
尝试了我在网上找到并能想到的一切。
这是我的 MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MenuFragment menuFragment = new MenuFragment();
FragmentManager fmStart = getSupportFragmentManager();
FragmentTransaction fmTrans = fmStart.beginTransaction();
fmTrans.add(R.id.fragmentContainerID, menuFragment);
fmTrans.commitAllowingStateLoss();
}
public void addFragment(Fragment fragment, boolean addToBackStack, String tag) {
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
if (addToBackStack) {
ft.addToBackStack(tag);
}
ft.replace(R.id.fragmentContainerID, fragment, tag);
ft.commitAllowingStateLoss();
}
}
我得到的错误与许多其他错误相同:
java.lang.IllegalArgumentException: No view found for id 0x7f080073 (se.iteda.hangman:id/fragmentContainerID) for fragment MenuFragment{d8a58aa (60d879ee-e84c-425e-a1a1-8e9be9c3b3a8) id=0x7f080073}
我想要做的是在开始时加载一个片段(MenuFragment),在那个片段中,我有 2 个按钮可以更改片段。
【问题讨论】:
-
整个项目可以在github.com/RiftApps/HangStickMan找到
-
删除这个 "((MainActivity)getActivity()).addFragment(menuFragment, true, "Menu");"您正在片段本身内创建一个新片段。这是错误的。
-
好的,我删除了它,但问题是在该片段甚至加载之前,所以仍然在应用程序启动时崩溃并出现相同的错误
-
所以我猜崩溃不在片段中,而是在加载它的活动中。分享活动代码
标签: java android android-fragments fragmentmanager