baidu_19694879 2016-03-29 07:25 采纳率: 50%
浏览 2857
已采纳

android 点击动态添加view组成的listView的item时,显示出问题

android  listview中的item是动态添加的view, 点击item内的其中一个view时,显示的永远是页面上显示出来的的最后一个item的最后一个view中的值

List carLists = ci.getCarLists();
for (CarModle cm : carLists) {
typeSeries = cm.getTypeSeries();
typeName = cm.getTypeName();
LinearLayout layout = new LinearLayout(mActivity);
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layout.setLayoutParams(params);
layout.setOrientation(LinearLayout.HORIZONTAL);
layout.setPadding(50, 20, 20, 20);
TextView tv_typeSeries = new TextView(mActivity);
tv_typeSeries.setText(typeSeries);
TextView tv_typeName = new TextView(mActivity);
tv_typeName.setText(typeName);
tv_typeName.setLeft(20);
layout.addView(tv_typeSeries, params);
layout.addView(tv_typeName, params);
holder.layout_carInfo.addView(layout, params);
}

    holder.layout_carInfo.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(mActivity, typeSeries + typeName, Toast.LENGTH_SHORT).show();
        }
    });
  • 写回答

4条回答 默认 最新

  • baidu_19694879 2016-04-19 09:09
    关注

    已解决,谢谢各位,,,,,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 小麟 2016-03-29 07:31
    关注

    用setItemOnClickListener试试

    评论
  • baidu_19694879 2016-03-29 09:59
    关注

    具体实现要求是这样的图片说明

    评论
  • 孤单的陈银 2016-03-29 12:36
    关注

    for (CarModle cm : carLists) {
    typeSeries = cm.getTypeSeries();
    typeName = cm.getTypeName();
    ......
    holder.layout_carInfo.addView(layout, params);
    }
    你的for循环执行完后,typeSeries和typeName指向最后一个item的数据,在onclick事件中当然会显示最后一条数据的信息啦。
    可以在for循环内部中添加layout的onclick事件,对给个item添加onclick监听不就行了嘛。

    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 请教如何为VS2022搭建 Debug|win32的openCV环境?
  • ¥15 关于#c++#的问题:c++如何使用websocketpp实现websocket接口调用,求示例代码和相关资料
  • ¥15 51单片机的外部中断,按下按键后不能切换到另一个模式
  • ¥15 java连接sqlserver有问题
  • ¥15 yolov8 如何调cfg参数
  • ¥15 这个四人抢答器代码哪儿有问题?仿真程序怎么写?
  • ¥15 burpsuite密码爆破
  • ¥15 关于#ubuntu#的问题,如何解决?(相关搜索:移动硬盘)
  • ¥15 scikit安装之后import不了
  • ¥15 Ros2编译一个使用opencv的c++节点的时候,报了这个错误,请问怎么解决啊