使用SimpleAdapter在Android ListView上添加onClick侦听器

使用SimpleAdapter在Android ListView上添加onClick侦听器,android,android-listview,onitemclicklistener,Android,Android Listview,Onitemclicklistener,我没有通过搜索找到解决方案:( 我正在编写一个用于阅读RSS提要的应用程序。 我使用listview将每个提要的屏幕标题和描述放入2 textview。我用SimpleAdapter实现了这一点 在我的项目中,我有两个类:MainActivity和AsynkTask。 在mainActivity中,我执行读取RSS的asyncTask,并将它们放入适配器和listview中 现在,如何在listview上添加一个click listener,以便在浏览器中打开每个提要 我希望我已经正确地解释了这

我没有通过搜索找到解决方案:(

我正在编写一个用于阅读RSS提要的应用程序。
我使用listview将每个提要的屏幕标题和描述放入2 textview。我用SimpleAdapter实现了这一点

在我的项目中,我有两个类:MainActivity和AsynkTask。 在mainActivity中,我执行读取RSS的asyncTask,并将它们放入适配器和listview中

现在,如何在listview上添加一个click listener,以便在浏览器中打开每个提要

我希望我已经正确地解释了这个问题,我很抱歉我的英语很差! 谢谢大家


PS:如果您需要我的一些代码,我会发布它。

在列表视图上,您需要在列表视图上使用setOnItemClickListener

,您需要在MainActivity的onCreate方法中使用setOnItemClickListener

,如果它是ListActivity,您需要获得对列表视图的引用,如下所示:

ListView lv = getListView();
然后向其添加一个单击侦听器,如下所示:

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) { 
  //Open the browser here
}
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
int位置,长id){
//在此处打开浏览器
}

在MainActivity的onCreate方法中,如果它是ListActivity,则需要获取对列表视图的引用,如下所示:

ListView lv = getListView();
然后向其添加一个单击侦听器,如下所示:

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) { 
  //Open the browser here
}
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
int位置,长id){
//在此处打开浏览器
}

我必须将此属性设置为AsynkTask类或mainActivity类?我必须将此属性设置为AsynkTask类或mainActivity类?在第一行,Eclipse向我发送以下错误:“未为mainActivity类型定义getListView()方法”您是将列表视图添加到布局中并使用普通活动还是使用ListActivity?ListActivity是为仅将列表视图作为元素的活动而设计的。如果您使用的是活动并且布局中有ListView,则需要按如下方式访问它:ListView lv=(ListView)findViewById(R.id.idOfListViewOnLayout);好的,完成..但是当我调用setonitemclicklistener eclise时,请发送此错误:此行有多个标记-OnItemClickListener无法解析为类型-类型AdapterView中的方法setonitemclicklistener(AdapterView.OnItemClickListener)不适用于参数(new OnItemClickListener(){})您是否正在类中导入OnItemClickListener:导入android.widget.AdapterView.OnItemClickListener;是的,很抱歉我用这种方法解决了问题..抱歉我的错误..只是一个解释..要获取我单击的元素的位置,我可以怎么做?我已经尝试使用lv.GetSelectEditePosition()但是eclipse告诉我lv必须是一个final变量,但当我单击时,将lv声明为final应用程序崩溃:在第一行上,eclipse向我发送了以下错误:“类型MainActivity的getListView()方法未定义”您是将列表视图添加到布局中并使用普通活动还是使用ListActivity?ListActivity是为仅将列表视图作为元素的活动而设计的。如果您使用的是活动并且布局中有ListView,则需要按如下方式访问它:ListView lv=(ListView)findViewById(R.id.idOfListViewOnLayout);好的,完成..但是当我调用setonitemclicklistener eclise时,请发送此错误:此行有多个标记-OnItemClickListener无法解析为类型-类型AdapterView中的方法setonitemclicklistener(AdapterView.OnItemClickListener)不适用于参数(new OnItemClickListener(){})您是否正在类中导入OnItemClickListener:导入android.widget.AdapterView.OnItemClickListener;是的,很抱歉我用这种方法解决了问题..抱歉我的错误..只是一个解释..要获取我单击的元素的位置,我可以怎么做?我已经尝试使用lv.GetSelectEditePosition()但是eclipse告诉我lv必须是一个最终变量,但是当我单击:S时,将lv声明为最终变量会导致应用程序崩溃