【问题标题】:Android - java.lang.IllegalArgumentException: No view found for id xxxxx (android:id/content) for fragmentAndroid - java.lang.IllegalArgumentException:没有为片段的 id xxxxx (android:id/content) 找到视图
【发布时间】:2015-03-05 15:58:49
【问题描述】:

我想切换到另一个片段,但我从昨天开始收到此错误消息。顺便说一下,这个片段在 TabHost 里面。

03-05 23:51:15.247: E/AndroidRuntime(8780):
java.lang.IllegalArgumentException: 
No view found for id 0x7f0d00ac (com.xxxxx:id/container_framelayout) 
for fragment SecondFragment{41a44310 #0 id=0x7f0d00ac}

FirstFragment.java

public class FirstFragment extends Fragment {
    private ListView listView;

    public FirstFragment() {
        // TODO Auto-generated constructor stub

    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View v = LayoutInflater.from(getActivity()).inflate(R.layout.activity_first_fragment,
                null);

        listView = (ListView) v.findViewById(R.id.list);

        listView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub
                getChildFragmentManager().beginTransaction().add(R.id.container_framelayout, new SecondFragment()).commit();
                getChildFragmentManager().executePendingTransactions();
            }


        });
    }
}

我已经在 container_framelayout.xml 中定义了 id

<?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container_framelayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    </FrameLayout>

已编辑

我把我的 FirstFragment 放在哪里

ParentFragment.java

public class ParentFragment extends Fragment {

    private static final String TAB_1_TAG = "first";
    private FragmentTabHost mTabHost;

    public ParentFragment() {
        // TODO Auto-generated constructor stub

    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        mTabHost = new FragmentTabHost(getActivity());
        mTabHost.setup(getActivity(), getChildFragmentManager(), R.layout.top_tabs);

        Bundle b = new Bundle();
        b.putString("key", "First");
        mTabHost.addTab(mTabHost.newTabSpec(TAB_1_TAG).setIndicator("First"),
            FirstFragment.class, b);

        return mTabHost;
    }

}

【问题讨论】:

    标签: java android xml android-fragments


    【解决方案1】:

    修改这个:

    View v = LayoutInflater.from(getActivity()).inflate(R.layout.activity_first_fragment,
                    null);
    

    进入这个:

    View v = inflater.inflate(R.layout.activity_first_fragment, container
                false);
    

    【讨论】:

      【解决方案2】:

      我已经找到答案了。在onItemClick 函数中我需要像这样放一个,

      @Override
                  public void onItemClick(AdapterView<?> parent, View view,
                          int position, long id) {
                      // TODO Auto-generated method stub
      
                      SecondFragment secondFragment = new SecondFragment();
                      FragmentTransaction fragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
                      fragmentTransaction.add(R.id.first_fragment, secondFragment);
                      fragmentTransaction.commit();
                  }
      

      【讨论】:

        猜你喜欢
        • 2014-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多