android ListView监听问题,求解!怎么找到listView的Id??

<!--这是listmain.xml--><?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android... <!--这是listmain.xml-->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ListView>

<TextView
android:id="@id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/empty"
/>
</RelativeLayout>

<!--这是listView的条目detail.xml-->
<?xml version="1.0" encoding="utf-8"?>
<LinerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:id="@+id/detailView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/others"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</ScrollView>
</LinerLayout>

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listmain);
ListView list = (ListView)findViewById(R.id.list);//找不到这个R.id.list,直接报错
list.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View view, int possition,
long id) {});
因为我继承了ListActivity,然后好像这个是要这样写的吧!android:id="@id/android:list";
后面我直接继承Activity,然后改为android:id="@+id/list",结果还是一样,无法监听,点击没有反应log里面什么都没有。!
展开
 我来答
双四别阴我
2011-05-27 · TA获得超过2282个赞
知道大有可为答主
回答量:1250
采纳率:57%
帮助的人:1177万
展开全部
楼上正解。为了让你看明白,解释一下吧。
android:id="@+id/list"
这个“+”号代表新建一个还没有创建过的ID。
android:id="@id/list"
如果没有这个“+”号,就是引用一个已有的ID,区别就在这里。
追问
因为我继承了ListActivity,然后好像这个是要这样写的吧!android:id="@id/android:list";
后面我直接继承Activity,然后改为android:id="@+id/list",结果还是一样,无法监听,点击没有反应log里面什么都没有。!
追答
在你的工程目录gen应该有R.java吧?按你说的,后来改为Activity后,在AndroidManifest.xml里面有加入Activity的类吧?或者你继续ListActivity的话,ListView list = (ListView)findViewById(R.id.list);改成ListView list = (ListView)findViewById(android.R.id.list);不用加号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
glynn1984
2011-05-27 · 超过19用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:56.5万
展开全部
按照你现在xml里对list的定义,你用android.R.id.list就能找到。。
具体原因参加楼上两位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qqliys
2011-05-27 · TA获得超过336个赞
知道答主
回答量:90
采纳率:0%
帮助的人:76.8万
展开全部
你的程序就有错阿。

<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ListView>
追问
因为我继承了ListActivity,然后好像这个是要这样写的吧!android:id="@id/android:list";
后面我直接继承Activity,然后改为android:id="@+id/list",结果还是一样,无法监听,点击没有反应log里面什么都没有。!
追答
哦。这样的话直接使用  ListView list = getListView();就可以,你那样找是肯定无法找到的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d1a1066
2012-02-22 · TA获得超过167个赞
知道小有建树答主
回答量:324
采纳率:0%
帮助的人:152万
展开全部
楼主些的代码有问题,你已经集成listactivety了就不应再应用,你要是集成的是activety就需要应用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lx990011
2012-10-30
知道答主
回答量:2
采纳率:0%
帮助的人:3082
展开全部
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {

}
});

给listview设置监听
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式