2 nana4ever nana4ever 于 2013.03.12 17:41 提问

使用 ListVIew 在指定的 items上如何实现一个 listener 事件?

我创建了一个ListView,包含很多items,但是实际上我不确定在一个特定的items上如何实现一个listener事件?
我使用的下面的代码,但是当我点击任何items,一直显示的是相同的Activity。

list.setOnItemClickListener(new OnItemClickListener()
{
   public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id)                               
   {
      Intent i = new Intent(MainActivity.this, Activity2.class);
      startActivity(i);                                                                                                                                                                                   
   }
});

但是如果我在下面的代码中使用if语句,也没有用。

list.setOnItemClickListener(new OnItemClickListener()
{                                                                                                                                                             
   public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id)                             
      {                                                                                                                                                                           
         if(list.getItemAtPosition(position).equals(mStrings[0]))                                                       
         {                                                                                                           
            Intent i = new Intent(MainActivity.this, Activity2.class);                                                                                        
            startActivity(i);                                                                                
         }                                                                                                    
      }
});

3个回答

CuGBabyBeaR
CuGBabyBeaR   2013.03.12 17:52
已采纳

首先 你的代码中都是相同的Activity
其次在OnItemClickListener类的方法

public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id)  

中,第三个变量就给出了被点击的Item的位置

xiaoyan_12
xiaoyan_12   2013.03.15 11:24

在 adapter 的 getView 方法中设置不同的监听器

curie_87
curie_87   2013.03.15 11:26

在 position 上设置条件

if (position == 0) {
    ... start activity ...
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android 为ListView每个Item上面的按钮添加事件
Android ListView每个Item上面的有TextView和Button,为ListView每个Item上面的按钮添加事件,并获取TextView文本信息。
java ServletContextListener 定时器某个时刻执行事件
设置定时器,每天固定时间执行一次事件UpdateMessageTask public class EventListener implements ServletContextListener { private static final long PERIOD_DAY = 24 * 60 * 60 * 1000; private Timer timer = null; @Overri
观察者模式 (Listener监听器)
原文出自:http://blog.csdn.net/zhengzhb/article/details/7471978 定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 类型:行为类模式 类图:         在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如
C# listview 选择行-SelectedIndexChanged事件
最近帮朋友写个程序,wince上,用vs2008开发用到了listview,好久没写程序,而且是wince,有点不熟,试验了半天。。。要选择 SelectedIndexChanged 事件 private void listView1_SelectedIndexChanged(object sender, EventArgs e)        {            ListView.Sele...
ListView中单独更新某个Item的方法
在一些listview的应用中,有时只是需要更新某一个指定的item。如聊天应用中,发送聊天结束的时候去更新发送的这条聊天的状态;论坛中,给某个帖子点赞成功之后去更新这个帖子的点赞数量。这个时候,我们不需要去调用Adapter的notifyDataSetChanged方法。可以写一个updateItem(int position)的方法去更新指定项。 listview提供了getchildat(
Android ListView监听上滑或下滑动作
前几天,同事问我说:怎么监听ListView上滑或下滑动作,然而Android API里似乎没有现成的接口回调。然后我就顺手Google了一下,感觉StackOverFlow的实现方式不够完善,刚好今天有空就完善了一下,和大家分享~如有错误,欢迎指正。PS:这里定义的“ListView上滑”是手指向下滑的方向 private int mLastFirstPostion; private int mLastFirstTop; privat
ListView的两种监听某一项的单击事件的方法
第一种,通过Adapter的parent.getAdapter()方法来获取 adapter=new FirstListViewAdapter(list,getActivity());         listView.setAdapter(adapter);         //监听单击项的事件        listView.setOnItemClickListener(new Ada
Android中PopupMenu的使用
Android中PopupMenu的使用 给大家推荐一个叫PopupMenu的玩意儿,大家没事的时候可以用来消遣消遣。。 这个效果图是基于ListView实现的, 其实这玩意儿哪个控件上都可以使用,此处只是个例子: 这是我的一种实现方式,在练习的时候应该会很多人这样用... 总之,这东西用来消遣就好。。 这是一个PopupMenu的对象给实现的,其内部就是利用这个P
android listview系列之item的点击事件及item布局中的点击事件(四)
很多时候listview只显示简略信息,我们需要点击子项去跳转或在显示详细信息的位置,将相关的详细信息显示出来,listview提供了onItemClickListener()方法,在方法中我们可以执行我们需要的内容。listview.setOnItemClickListener(new OnItemClickListener(){ @Override
Android在ListView中移除某个Item条目
我做了个bug就是说快捷启动里得到所有的应用程序,然后由于某些原因需要移除某个应用条目,我是这样做的: 1.使用这个工具类获取所有应用程序:public class ApkTool { static String TAG = "ApkTool"; private Context mContext; public static List<AppInfo> mLocalIns