android 点击按钮的奇数次_Android RecycleView 里面有按钮点击 复用错位的问题解决...

释放双眼,带上耳机,听听看~!

今天做了商城收货地址选择的部分,地址信息又RecycleVeiw展示。里面有一个自己写的TextView 选择那个 那个背景图就是一个对号。而且是单选。之前定义一个int 常量num,每次点击textview都会去叠加,用奇偶性进行判断。奇数就是选中 偶数没选中 。。。。。。。。。。。大概知道我原来的思路了,,

后来在滑动页面的时候,因为复用各种错乱。。。。。。后来找个好的解决办法。在javabean中添加一个 tag值。

bean  selecttag为tag

package com.ingkoo.FragListBean.MySetBean;

import org.json.JSONObject;

/*** Created by Administrator on 2016/6/16.*/public class ReceivePlaceListBean {

private String countryName;

private String detail;

private String idCard;

private String post;

private String cityName;

private String provinceName;

private String addressId;

private int country;

private String city;

private String id;

private int isDefault;

private String userId;

private String province;

private String mobile;

private String name;

private String selecttag = "0";

public ReceivePlaceListBean(JSONObject item) {

countryName = item.optString("countryName");

detail = item.optString("detail");

idCard = item.optString("idCard");

post = item.optString("post");

cityName = item.optString("cityName");

provinceName = item.optString("provinceName");

addressId = item.optString("addressId");

country = item.optInt(String.valueOf("country"));

city = item.optString("city");

id = item.optString("id");

isDefault = item.optInt(String.valueOf("isDefault"));

name = item.optString("name");

userId = item.optString("userId");

province = item.optString("province");

mobile = item.optString("mobile");

// selecttag = item.optString("selecttag");

}

public ReceivePlaceListBean(String tag){

this.selecttag = tag;

}

public String getCountryName() {

return countryName;

}

public void setCountryName(String countryName) {

this.countryName = countryName;

}

public String getDetail() {

return detail;

}

public void setDetail(String detail) {

this.detail = detail;

}

public String getIdCard() {

return idCard;

}

public void setIdCard(String idCard) {

this.idCard = idCard;

}

public String getPost() {

return post;

}

public void setPost(String post) {

this.post = post;

}

public String getCityName() {

return cityName;

}

public void setCityName(String cityName) {

this.cityName = cityName;

}

public String getProvinceName() {

return provinceName;

}

public void setProvinceName(String provinceName) {

this.provinceName = provinceName;

}

public String getAddressId() {

return addressId;

}

public void setAddressId(String addressId) {

this.addressId = addressId;

}

public int getCountry() {

return country;

}

public void setCountry(int country) {

this.country = country;

}

public String getCity() {

return city;

}

public void setCity(String city) {

this.city = city;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public int getIsDefault() {

return isDefault;

}

public void setIsDefault(int isDefault) {

this.isDefault = isDefault;

}

public String getUserId() {

return userId;

}

public void setUserId(String userId) {

this.userId = userId;

}

public String getProvince() {

return province;

}

public void setProvince(String province) {

this.province = province;

}

public String getMobile() {

return mobile;

}

public void setMobile(String mobile) {

this.mobile = mobile;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSelecttag() {

return selecttag;

}

public void setSelecttag(String selecttag) {

this.selecttag = selecttag;

}

}

activity  的item onclick事件

mReceivePlaceAdapter.setmOnItemClickListener(new ReceivePlaceAdapter.OnItemClickListener() {

@Override

public void onItemClick(View view, int position, String msg) {

for(int i = 0;i

mReceivePlaceListArray.get(i).setSelecttag("0");

}

for(int i = position+1;i

mReceivePlaceListArray.get(i).setSelecttag("0");

}

mReceivePlaceListArray.get(position).setSelecttag("1");

mReceivePlaceAdapter.notifyDataSetChanged();

// Toast.makeText(ChoosePlaceActivity.this,"点击了", Toast.LENGTH_SHORT).show();

}

adapter

//这里设置了点击的Tag 写Tag值在Activity里面,然后获取AddressId

if (mDatas.get(position).getSelecttag().equals("1")){

holder.mReceivePlaceSelectTv.setBackgroundResource(R.mipmap.ic_checked);

mAccount.setAddressId(mDatas.get(position).getAddressId());

Log.e("哈哈哈哈哈哈哈哈哈哈哈哈哈",mAccount.getAddressId());

}else {

holder.mReceivePlaceSelectTv.setBackgroundResource(R.mipmap.ic_check_no);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值