`
pengfeifei26
  • 浏览: 231911 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android Your content must have a ListView whose id attribute is 'android.R.id.li

 
阅读更多
Android Your content must have a ListView whose id attribute is 'android.R.id.list'错误的解决办法

在Android开发中,ListView有着很重要的地位,使用的场合也非常的多

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

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


[html] view plaincopyprint?<ListView  
android:id="@android:id/list" 或android:id="@id/android:list" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 
</ListView> 

<ListView
android:id="@android:id/list" 或android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>






但是如果我们是为了实现自定义的ListView,也就是我们后面是通过在BaseAdapter中实现对ListView中空间的监听,那我们这边就只要继承Activity就可以了的。但是注意,我们用的是ListView,又没有去继承ListActivity,因此,一定要记得在工程中声明一个ListView对象并对其进行实例化,这样可以得到要的ListView了

不用着急哈,不要忘了我们还有自己实例化的那个ListView哈,有了这个就可以通过这个调用setOnItemClickListener方法喽~具体如下:


[java] view plaincopyprint?listView.setOnItemClickListener(new OnItemClickListener() { 
 
 
@Override 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
long arg3) { 
// TODO Auto-generated method stub  
Log.i("TAG","The Item has been clicked"); 

}); 

listView.setOnItemClickListener(new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Log.i("TAG","The Item has been clicked");
}
});





而这个时候我们也就依然能像之前介绍的那样用与系统提供的SimpleAdapter提供的一样的构造方法来调用我们自己自定义的BaseAdapter喽

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics