大侠请进,android listview添加单选按钮。为什么总是多选

chenming1990118 2012-04-01 05:10:38
最好给出代码例子,尽量说详细点
...全文
407 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LichKingSZ 2012-04-01
  • 打赏
  • 举报
回复
可以这样做,
在adapter里:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
GridHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item_repairshow, null);
holder = new GridHolder();
holder.rbSelect=(RadioButton)convertView.findViewById(R.id.rbSelect);//单选钮

convertView.setTag(holder);
}else{
holder = (GridHolder) convertView.getTag();
}

HashMap<String,Object> info = items.get(position);

if (info != null) {
holder.rbSelect.setOnClickListener(new lvButtonListener(position,CommonMethod.HANDLER_RADIOBUTTON));
holder.rbSelect.setChecked((Boolean)info.get("Selected"));
}

return convertView;
}

class lvButtonListener implements View.OnClickListener {
private int position;
private int type;

lvButtonListener(int pos,int type) {
position = pos;
this.type=type;
}

@Override
public void onClick(View v) {
Message msg = handler.obtainMessage();
msg.what = type;
msg.arg1 = position;
handler.sendMessage(msg);
}
}


然后在activity里:

public Handler mAdpBtnClickHandler = new Handler() {
public void handleMessage(Message msg) {
switch(msg.what) {
case CommonMethod.HANDLER_BUTTON:
//地图

break;
case CommonMethod.HANDLER_RADIOBUTTON:
//选择
if(balanceIndex==msg.arg1)
return;

if(balanceIndex!=-1){
HashMap<String,Object> map= adapter.getItems().get(balanceIndex);
map.put("Selected", false);
}
HashMap<String,Object> map= adapter.getItems().get(msg.arg1);
map.put("Selected", true);
balanceIndex=msg.arg1;
adapter.notifyDataSetChanged();

break;
}
}
};


需要解释不?
傲慢的上校 2012-04-01
  • 打赏
  • 举报
回复
http://blog.csdn.net/aomandeshangxiao/article/details/6643831 看看这个对你有帮助吗。
tangfei_honesty 2012-04-01
  • 打赏
  • 举报
回复
添加单选按钮。为什么总是多选,
你的意思是点击了一个checkbox选中多行么?

80,351

社区成员

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

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