巧雾 2015-06-23 08:35 采纳率: 16.7%
浏览 1358

Listview中第一个按钮无效,其他都正常

public View getView(final int position, View convertView, ViewGroup parent) {

        final ViewHolder holder;
        ListViewListener LvListener = null;
        if (convertView == null) {

            holder=new ViewHolder();
            LvListener = new ListViewListener(position);

            convertView = mInflater.inflate(R.layout.location_list, null);
            convertView.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    Toast.makeText(LocationActivity.this, "您点击了:" + position,
                            Toast.LENGTH_SHORT).show();
                }
            });
            holder.userId = (TextView) convertView.findViewById(R.id.userId);
            holder.img = (ImageView)convertView.findViewById(R.id.img);
            holder.info = (TextView)convertView.findViewById(R.id.info);
            holder.distance = (TextView)convertView.findViewById(R.id.distance);
            holder.btnAdd = (Button)convertView.findViewById(R.id.btnAdd);
            convertView.setTag(holder);

        }else {
            holder = (ViewHolder)convertView.getTag();
        }

        try {
            holder.userId.setText(mData.get(position).get("userId").toString());
            holder.info.setText(mData.get(position).get("nickName").toString() + "  " 
                    + mData.get(position).get("sex").toString());
            holder.distance.setText((String)mData.get(position).get("distance") + "米");
            holder.btnAdd.setOnClickListener(LvListener);
            holder.img.setImageResource(R.drawable.a1);

        } catch (Exception e) {
            e.printStackTrace();
        }
        return convertView;
    }
  • 写回答

1条回答

  • danielinbiti 2015-06-23 08:48
    关注
     convertView.setOnClickListener(new OnClickListener() {
    
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(LocationActivity.this, "您点击了:" + position,  //position这个position和你的点击不对应。如果listview往下滚动,第一个item点击的时弹出的position是滚动屏幕内的position
                                Toast.LENGTH_SHORT).show();
                    }
                });
    
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料