setOnItemClickListener 单击时选中点击的Items

day_moon 2015-11-05 08:31:14
效果图:


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());
...全文
1333 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
day_moon 2015-11-06
  • 打赏
  • 举报
回复
我是菜鸟?你们可以写详细一点吗?跪求大神?
szivy 2015-11-06
  • 打赏
  • 举报
回复
看看,7楼回答正解
  • 打赏
  • 举报
回复
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等信息
day_moon 2015-11-06
  • 打赏
  • 举报
回复
好的。下面是适配器和数据源: //SimpleAdapter适配器: ProductDao product =new ProductDao(ProductPlay.this); List<Map<String,Object>> datas=product.getDatas(); //创建一个SimpleAdapter适配器 SimpleAdapter mSimpleAdapter=new SimpleAdapter(ProductPlay.this,datas,R.layout.product_list,new String[]{"id","image","name","price"}, new int[]{R.id.tv_id,R.id.goodsIconIv,R.id.textClothesName,R.id.textClothesPrice}); ProductDao类getDatas()中: public List<Map<String,Object>> getDatas(){ Map<String, Object> map = new HashMap<String, Object>(); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); SQLiteDatabase db=null; Cursor cursor=null; try{ db=helper.getWritableDatabase(); String sql="select * from cart_product"; cursor=db.rawQuery( sql, null); while (cursor.moveToNext()) { int id=cursor.getInt(cursor.getColumnIndex("id")); //把图片现转为byte,再转化为Bitmap byte[] image_byte = cursor.getBlob(cursor.getColumnIndex("image")); Bitmap image = BitmapFactory.decodeByteArray(image_byte, 0, image_byte.length); String name=cursor.getString(cursor.getColumnIndex("name")); String price = cursor.getString(cursor.getColumnIndex("price")); map = new HashMap<String, Object>(); map.put("id",id); map.put("image", image); map.put("name",name); map.put("price",price); list.add(map); Log.i("已经得到了一个商品", "该商品是"+name); } }catch(Exception e){ e.printStackTrace(); }finally{ cursor.close(); db.close(); } return list; }
猴子写代码 2015-11-06
  • 打赏
  • 举报
回复
把你的数据适配器adapter代码贴出来 或者把你初始化listview的所有代码贴出来 如果你用了adapter那么应该有list,list.get(postion).getID();
UDBuilder 2015-11-06
  • 打赏
  • 举报
回复
这样看你的数据源的数据结构了
day_moon 2015-11-06
  • 打赏
  • 举报
回复
我想问一下各位大神,怎么获取得到用户点击的那个Item的ID呢?
UDBuilder 2015-11-05
  • 打赏
  • 举报
回复
listview有对应的adapter,adapter中装载了列表中要显示的数据list,利用点击事件中的position就可以得到了 item = list.get(position);
阿飞__ 2015-11-05
  • 打赏
  • 举报
回复
不是有个数据源list?然后点击事件里有个position,然后要什么数据不都可以得到了么
附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[坡道(ramp)] · 训练集:275 张 · 验证集:27 张 · 测试集:0 张 · 总计:302 张 该数据集聚焦于城市环境中各类建筑入口处的坡道设施,涵盖住宅、商铺、公共设施等多种场景,真实反映了无障碍通行设施在实际应用中的多样化形态。数据集中包含金属、橡胶、塑料等多种材质的坡道,以及不同尺寸、结构和安装方式的实例,充分体现了坡道在城市基础设施中的广泛部署与重要性。该数据集为城市智慧化管理、无障碍环境建设及公共安全监控提供了高质量的视觉基础支持。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 33 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.6372** mAP50-95 | 0.3401 Precision | 0.6603 Recall | 0.6190 train/box_loss | 1.0569 train/cls_loss | 0.7307 val/box_loss | 1.6084 val/cls_loss | 1.9323 【训练过程分析】 33 轮训练后 mAP50 仅 0.6372,模型收敛不充分。Loss 曲线前期下降后进入平台期,mAP 提升缓慢。mAP50-95 为 0.3401,定位精度同样偏低。 【模型性能评估】 Precision 0.6603、Recall 0.6190,精度高于召回,存在一... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧