尝试使用自定义游标适配器将数据从DB显示到列表视图时出现问题。我想我已经追查到这个问题,因为我无法找到'我的xml文件中的listview元素。
在我的XML文件中,我有这个:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="7" >
<ListView
android:id="@+id/android:list"
android:background="?android:attr/activatedBackgroundIndicator"
android:choiceMode="singleChoice"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
我的主要onCreate中有我的活动:
setContentView(R.layout.activity_trip_display);
.... // other code
tripList = (ListView) findViewById(R.id.list);
但最后一行产生的 &#39;列表无法解析,或者不是Eclipse中的字段&#39; 错误。
如果我添加&#39; android&#39;在那里:
tripList = (ListView) findViewById(android.R.id.list);
它编译好了然后我得到了变量&#39; tripList&#39;的空条目。这导致其他NPE错误。
有什么想法吗?
编辑:好吧,我认为我的问题是我的光标适配器 - 会发布一个新问题。谢谢大家的期待...答案 0 :(得分:1)
如果您的ListView
ID为android:id=@android:id/list"
,则无需定义
tripList = (ListView) findViewById(android.R.id.list);
并且您的Activity
必须延长ListActivity
,也无需将setContentView()
添加为 @ AndroidWarrior的评论
如果您的ListView
ID为android:id="@+id/list"
,则使用
ListView
tripList = (ListView) findViewById(R.id.list);
转到此处了解更多演示http://www.vogella.com/tutorials/AndroidListView/article.html
答案 1 :(得分:0)
而不是android:id="@+id/android:list"
使用android:id="@+id/list"
答案 2 :(得分:0)
如果您想在编码中使用它
tripList = (ListView) findViewById(android.R.id.list);
然后你的班级必须延伸ListActivity
。
并更改ListView
ID的xml,如
android:id="@+id/android:list"
到
android:id ="@android:id/list"
答案 3 :(得分:0)
我认为 android:id =“@ + id / android:list”的问题替换为此
android:id =“@ + id / list”并将您的应用程序扩展到Activity就足够了。
ListView list =(ListView)findViewById(R.id.list);
如果问题解决了,请接受ans。