gpt4 book ai didi

java - Android - 未找到嵌套 fragment View

转载 作者:行者123 更新时间:2023-12-01 04:32:16 25 4
gpt4 key购买 nike

我有三个 Fragments,它们的排列如下所示:

“Frag A 和 Frag C 未连接,但 Frag B 和 C 已连接。每个 fragment 包含 1 个 ListView ,因此每次我触发事件时,它都会转到下一个 fragment 。”

Fragment A ---> (Inside Frag A)Fragment B ---> (Inside Frag B)Fragment C

  • fragment A(main.xml)
  • fragment B(R.id.contentFragment)
  • fragment C(R.id.contentFragment)

我可以显示 fragment A 和 fragment B 并且没问题,但是如果我从 B 调用 fragment C,我得到“在 contentFragment=0x7f040039 中找不到 View “

Main.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@color/white"
android:id="@+id/frameLayout"
>

<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
>
</ListView>

<FrameLayout
android:id="@+id/contentFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</FrameLayout>


</FrameLayout>

</FrameLayout>

FragmentA.java

在 fragment A 内打开 fragment B

 Fragment fragment1 = new FragmentB();

FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.replace(R.id.contentFragment, fragment1, fragMainGroups );
transaction.addToBackStack(fragMainGroups);
transaction.commit();

FragmentB.java

在 fragment B 内打开 fragment C

     String fragGroups = "groups";

Fragment fragment1 = new FragmentC();

FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.replace(R.id.contentFragment, fragment1, fragGroups );
transaction.addToBackStack(fragGroups);
transaction.commit();

FragmentC.java

内部 fragment C

   public class FragmentItems extends ListFragment{

public void onAttach(Activity activity) {
super.onAttach(activity);
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}

public void onCreate(Bundle e)
{
super.onCreate(e);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.load_items_activity, container, false);

return rootView;
}
}

Logcat

07-25 18:10:20.388: E/FragmentManager(24703): No view found for id 0x7f040039 (com.jinisys.restoplusordering:id/contentFragment) for fragment FragmentItems{4156f480 #0 id=0x7f040039 groups}
07-25 18:10:20.388: E/FragmentManager(24703): Activity state:

07-25 18:10:20.388: E/FragmentManager(24703): No view found for id 0x7f040039 (com.jinisys.restoplusordering:id/contentFragment) for fragment FragmentItems{4156f480 #0 id=0x7f040039 groups}
07-25 18:10:20.388: E/FragmentManager(24703): Activity state:
07-25 18:10:20.718: E/AndroidRuntime(24703): FATAL EXCEPTION: main
07-25 18:10:20.718: E/AndroidRuntime(24703): java.lang.IllegalArgumentException: No view found for id 0x7f040039 (com.jinisys.restoplusordering:id/contentFragment) for fragment FragmentItems{4156f480 #0 id=0x7f040039 groups}
07-25 18:10:20.718: E/AndroidRuntime(24703): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:903)
07-25 18:10:20.718: E/AndroidRuntime(24703): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
07-25 18:10:20.718: E/AndroidRuntime(24703): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
07-25 18:10:20.718: E/AndroidRuntime(24703): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
07-25 18:10:20.718: E/AndroidRuntime(24703): at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
07-25 18:10:20.718: E/AndroidRuntime(24703): at android.os.Handler.handleCallback(Handler.java:615)

最佳答案

由于您的错误表明您正在 fragment B 中查找 id contentFragmentTtems 的 View ,其主视图是 contentFragment 而不是整个 main.xml 。因此,如果您想添加新 fragment ,您也应该从 fragment A 中执行此操作。

关于java - Android - 未找到嵌套 fragment View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17855637/

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