Your content must have a ListView whose id attribute is 'android.R.id.list' 解决方法

分享到:

解决方法一:

如果你继承了ListActivity,那么可以尝试改成Activity。

解决方法二:(转自:http://wchlt.blog.163.com/blog/static/219605720142204018727/)

在ListView显示列表的时候,必须在main.xml文件里加上ListView这一个控件把标签ListView的id改为“android:id/list” 这个id表示是系统自带的id,因为如果是你在main.xml里定义的listView不用默认的id.你可以去查看R.java这里id只代表一个控件,并不是layout但是这里需要的id是一个layout所以这样写只能是layout所有会报错,如果把listView单独定义为一个xml文件 ,那么他生成 的id为layout对应的id,这样再R.id.list就不会出错了……


如果一定要使用ListView定义在main.xml文件里面需要用到Adapter的另一个构造方法:

ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects)

第二第三个参数,需要加上list_item.xml和需要显示的TextView的id,指定数据显示的layout和显示的控件

如果用到了getListView()方法 ,那么也必须在main.xml文件 里定义一个ListView,并且id必须为android.R.id.list

当我们在主Activity里调用了;

super.onCreate(savedInstanceState); setContentView(R.layout.main); SimpleAdapter adapter = new SimpleAdapter(this,getData(),R.layout.list_view, new String[]{"title","info","img"}, new int[]{R.id.title,R.id.info,R.id.img}); setListAdapter(adapter);

其中调用用了setContentView(R.layout.man)的时候,如果要用ListView显示列表,就必须,在main.xml文件里添加控件ListView且id为android:id/list

如果把上面的setContentView(R.layout.man)去掉,再用ListView显示列表,也不会出错。。。。。。

解决方法三:(转自:http://blog.csdn.net/listening_music/article/details/6903043)

在Android开发中,ListView有着很重要的地位,使用的场合也非常的多,so我们当然要学会好好应用这个如此强大的空间喽~so,在前面的博客中也已经有了对ListView应用的相关介绍,尤其是自定义ListView那篇(BaseAdapter那个)~~~

但是但是……这个控件也是常用控件中比较复杂且编写代码时容易出错的控件之一!!在以后的博客中会依次介绍,现在就先说一下大家肯定也遇到的这个问题吧:

错误提示:Your content must have a ListView whose id attribute is 'android.R.id.list'

对于以上错误,其实可能是因为我们要实现对ListView中setOnItemClick的事件监听而去继承了LiseActivity,但是却没有ListView的标签,网上有说过只要在布局文件中添加如下代码即可:

[html] view plaincopyprint?
昵    称:
验证码:

相关文档: