当前位置: 代码迷 >> Android >> setOnItemClickListener 单击时选中点击的Items,该怎么解决
  详细解决方案

setOnItemClickListener 单击时选中点击的Items,该怎么解决

热度:44   发布时间:2016-04-27 22:16:55.0
setOnItemClickListener 单击时选中点击的Items
  效果图:


Activity类部分代码如下:

           /*为listView添加监听。作用当用户点击该商品时,就把商品的ID传过去
           lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
lv.getPositionForView(position);
Intent intent=new Intent(ProductPlay.this,ProductDetailActivity.class);
intent.putExtra("id", vo.getId());
//跳转到新的activity
startActivity(intent);
}
});

   布局文件部分代码(Item):

         <TextView
           android:visibility="visible"
            android:id="@id/tv_id"
            android:layout_width="10.0dp"
            android:layout_height="wrap_content">
        </TextView>

   跪求大神!
问题:1、在Activity类怎么获取得到点击的Item呢?(红色部分:lv.getPositionForView(position,不懂怎么写下去了?)
            2、在Activity类怎么获取得到用户点击的那个Item的ID呢?(红色部分:intent.putExtra("id", vo.getId());
------解决思路----------------------
listview有对应的adapter,adapter中装载了列表中要显示的数据list,利用点击事件中的position就可以得到了
item = list.get(position);
------解决思路----------------------
把你的数据适配器adapter代码贴出来
或者把你初始化listview的所有代码贴出来
如果你用了adapter那么应该有list,list.get(postion).getID();
------解决思路----------------------
List<Map<String,Object>> datas=product.getDatas();

public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
datas应该就是你的数据源吧,onItemClick的参数里面有个position
用datas.get(location)可以得到HashMap键值对,可以从里面拿到你要的id等信息
  相关解决方案