gpt4 book ai didi

java - 使用 Fragment 时找不到 id 的 View

转载 作者:行者123 更新时间:2023-12-01 22:38:44 27 4
gpt4 key购买 nike

我已经尽了一切努力来解决我的问题,这与许多其他使用fragmentmanager找不到 View 的人一样。

尝试了我在网上找到的和可以想到的所有内容。

这是我的 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}

我想要做的是在开始时加载一个 fragment (MenuFragment),在该 fragment 中,我有 2 个可以更改 fragment 的按钮。

最佳答案

好的。我在 Github 上打开了你的项目。

错误在这里:

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
....
fmTrans.add(R.id.fragmentContainerID, menuFragment);
....
}

您正在将 fragment 添加到fragmentContainerID中。但是,该 View 未添加到 Activity 中(导致 View 未找到错误)。

因此,为了解决这个问题,我认为您只需将布局应用到主要 Activity 即可。像这样的东西:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Add this after super.onCreate()
setContentView(R.layout.activity_main);
.....
}

编辑

正如我在评论中所说,我认为您不需要 MenuFragment.java 中的以下代码。我认为你可以删除它。

MenuFragment menuFragment = new MenuFragment();
((MainActivity)getActivity()).addFragment(menuFragment, true, "Menu");

关于java - 使用 Fragment 时找不到 id 的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58510665/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com