【问题标题】:Content View not created error内容视图未创建错误
【发布时间】:2014-03-02 21:36:12
【问题描述】:

我正在尝试通过从服务器下载图像来实例化列表视图,然后在我的 asynkTask 类的 onPostExecute() 中调用我主要活动中的 setImages()。在 mTransaction.commit() 之后它崩溃并且我收到错误消息“尚未创建内容视图”

这是我的 setImages 方法:

public void setImages(List<Bitmap> result)
{
    log("Entered setImages()");

    ListViewAdapter listAdapter = new ListViewAdapter(this, R.layout.list_item,       R.id.imageView, result);
    customListFragment = new customListFragment();
    customListFragment.setListAdapter(listAdapter);

    FragmentTransaction mTransaction = mFragmentManager.beginTransaction();
    mTransaction.add(R.layout.activity_main, customListLineFragment);
    mTransaction.commit();

}

这是我的日志:

03-02 16:10:16.265: E/AndroidRuntime(2623): FATAL EXCEPTION: main
03-02 16:10:16.265: E/AndroidRuntime(2623): Process: com.example.test, PID: 2623
03-02 16:10:16.265: E/AndroidRuntime(2623): java.lang.IllegalStateException: Content view not yet created
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.app.ListFragment.ensureList(ListFragment.java:386)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.app.ListFragment.setEmptyText(ListFragment.java:290)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at com.example.test.listFragment.onAttach(listFragment.java:28)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:849)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.app.BackStackRecord.run(BackStackRecord.java:684)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.os.Handler.handleCallback(Handler.java:733)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.os.Handler.dispatchMessage(Handler.java:95)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.os.Looper.loop(Looper.java:136)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at android.app.ActivityThread.main(ActivityThread.java:5017)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at java.lang.reflect.Method.invokeNative(Native Method)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at java.lang.reflect.Method.invoke(Method.java:515)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-02 16:10:16.265: E/AndroidRuntime(2623):     at dalvik.system.NativeStart.main(Native Method)

这里是 CustomListFragment 类

public class CustomListFragment extends ListFragment {



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<ImageView>(getActivity(), android.R.layout.simple_list_item_1));

}

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);

    this.setEmptyText("....");

}

【问题讨论】:

    标签: java android android-listview android-arrayadapter android-listfragment


    【解决方案1】:

    在添加片段和提交后设置适配器。 试试这个:

    mTransaction.commit();
    mFragmentManager.executePendingTransactions();
    customListFragment.setListAdapter(listAdapter);
    

    【讨论】:

    • 我仍然收到崩溃和错误消息“尚未创建内容视图”。我应该在下载数据之前添加片段视图吗?
    • 您可以发布您的 customListFragment onAttach 和 onCreateView 方法吗?
    猜你喜欢
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 2018-09-27
    • 2014-10-04
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多