0
votes

I'm using a ListView in a fragment and I've set every necessary requirement as told by Android, my XML List Code below

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@id/android:list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:background="#253453">
    </ListView>

</LinearLayout>

And in my code

   @Override
public View onCreateView(LayoutInflater inflater,
        @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View android = inflater.inflate(R.layout.pending_frag, container, false);
    context = getActivity().getApplicationContext();
    //ListView list = (ListView)android.findViewById(R.id.list);
    ListView list = getListView();

      trackItems = new ArrayList<TrackItem>();
      listAdapter = new TrackOrderListAdapter(getActivity(), trackItems);
      list.setAdapter(listAdapter); }

But, I still get this error

08-20 23:26:26.053: E/AndroidRuntime(30334): FATAL EXCEPTION: main 08-20 23:26:26.053: E/AndroidRuntime(30334): Process: com.deliveryscience.track, PID: 30334 08-20 23:26:26.053: E/AndroidRuntime(30334): java.lang.IllegalStateException: Content view not yet created 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.ListFragment.ensureList(ListFragment.java:328) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.ListFragment.getListView(ListFragment.java:222) 08-20 23:26:26.053: E/AndroidRuntime(30334): at com.deliveryscience.track.PendingActivity.onCreateView(PendingActivity.java:51) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1504) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:942) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1121) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1484) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:482) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.view.ViewPager.populate(ViewPager.java:1073) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.view.ViewPager.populate(ViewPager.java:919) 08-20 23:26:26.053: E/AndroidRuntime(30334): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)

1
post your whole pending_frag xml - Rod_Algonquin

1 Answers

1
votes
 @Override
public View onCreateView(LayoutInflater inflater,
        @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    return inflater.inflate(R.layout.pending_frag, container, false);

}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onViewCreated(view, savedInstanceState);
    context = getActivity().getApplicationContext();
    //ListView list = (ListView)android.findViewById(R.id.list);
    ListView list = getListView();

    trackItems = new ArrayList<TrackItem>();
    listAdapter = new TrackOrderListAdapter(getActivity(), trackItems);
    list.setAdapter(listAdapter); 
}

You can't really manipulate the view until the views are created.