Android 安卓-这是为什么告诉我;“尚未创建内容视图”;?

Android 安卓-这是为什么告诉我;“尚未创建内容视图”;?,android,android-listview,Android,Android Listview,这是一个在数据库片段上填充listview的过程: public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { LinearLayout Layout5 = (LinearLayout) inflater.inflate(R.layout.tab_frag5_layout, container, false);

这是一个在数据库片段上填充listview的过程:

public View onCreateView(LayoutInflater inflater, ViewGroup container,
           Bundle savedInstanceState) {

            LinearLayout Layout5 = (LinearLayout) inflater.inflate(R.layout.tab_frag5_layout, container, false);

            Cursor allBands;
            MyDatabase db;

            Context ctx = (Context)TabFragment5.this.getActivity();


            db = new MyDatabase(ctx);
            allBands = db.getBands();


            ListAdapter adapter = new SimpleCursorAdapter (ctx, 
                    R.layout.listelement, 
                    allBands, 
                    new String[] {"BandName"},  
                    new int[] {R.id.text15});

            getListView().setAdapter(adapter);  

            return Layout5;

         }

为什么这会让我在logcat上看到“尚未创建的内容视图”?当片段打开时,程序强制关闭…

A
fragment
通常应该放在
活动
中,而
onCreateView()
将为其容器
活动
提供
片段
的布局

引自

片段通常用作活动用户界面的一部分,并且 为活动提供自己的布局


因此,问题可能是由于容器
Activity
中缺少
setContentView()
而不是
Fragment
,我通过将适配器和getListview移动到onActivityCreated(…)解决了这个问题


onCreateView只是膨胀并返回布局。

我也有同样的问题,但我的错误是通过接口从后台任务调用(不可见)片段。因此,看不见的片段试图使用它的视图,但该视图不可用。。。我用相同的解决方案修复了它:接口函数检查片段是否可见()。 谢谢你给我指明了正确的方向

 public void updateListInterface(){
    if(this.isVisible()) {
        this.initListAdapter();
        getLoaderManager().restartLoader(0, null, this);
    } else {
        Log.v(TAG, "view is not visible");
    }
}

不应该是setContentView(..)的第一个语句吗?我不这么认为,我正在处理片段。请阅读以下问题:当您调用setAdapter()时,ListFragment会检查以确保布局中定义了列表,并且由于onCreateView()没有为片段提供视图,这是一个鸡和蛋的问题。请同时执行setAdapter()和getListView()是否确保检查?我确定getListView(),但不确定setAdapter()为什么不创建OnViewView。这似乎是最直观的选择。