ListView 按钮点击状态混乱之解决
来源:互联网 发布:淘宝有意思的小玩意 编辑:程序博客网 时间:2024/05/09 03:54
public class MyAdapter extends BaseAdapter {private List lists;private Context context;private ViewHolder holder;// 用来记录按钮状态的Mappublic static Map<Integer, Boolean> isChecked; public MyAdapter(Context _Context,List _list){this.lists = _list;this.context = _Context;init(); // 一定要在这里调用,在构造Adapter对象时方便初始化}class ViewHolder {private TextView mTV;private Button mBT;}// 初使化操作,默认都是falseprivate void init() {isChecked = new HashMap<Integer, Boolean>();for (int i = 0; i < lists.size(); i++){isChecked.put(i, false);}}@Overridepublic int getCount() {return lists.size();}@Overridepublic String getItem(int position) {return (String) lists.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView!=null){holder = (ViewHolder) convertView.getTag();}else {convertView = LayoutInflater.from(context).inflate(R.layout.item, null); holder = new ViewHolder(); holder.mBT = (Button) convertView.findViewById(R.id.btn); holder.mTV = (TextView) convertView.findViewById(R.id.tv); convertView.setTag(holder);}String text = (String) lists.get(position);if (text != null){holder.mTV.setText(text);}holder.mBT.setOnClickListener(new btClick(position));/* * 在复用时对其进行判断,根据其状态来显示相应的内容,这样在滑动时条目就不会再错乱了 */if (isChecked.get(position) == true){holder.mBT.setBackgroundResource(R.drawable.jc_yes);}else {holder.mBT.setBackgroundResource(R.drawable.jc_no);}return convertView;}/* * 此为listview条目中的按钮点击事件的写法 */class btClick implements OnClickListener{private int position;public btClick(int pos){ // 在构造时将position传给它这样就知道点击的是哪个条目的按钮 this.position = pos;}@Overridepublic void onClick(View v) {int vid=v.getId(); if (vid == holder.mBT.getId()){ if (isChecked.get(position) == false){ isChecked.put(position, true); // 根据点击的情况来将其位置和相应的状态存入 holder.mBT.setBackgroundResource(R.drawable.jc_yes); } else if (isChecked.get(position) == true){ isChecked.put(position, false); // 根据点击的情况来将其位置和相应的状态存入 holder.mBT.setBackgroundResource(R.drawable.jc_no); } notifyDataSetChanged(); }}}}
0 0
- ListView 按钮点击状态混乱之解决
- Android ListView 按钮点击状态混乱之解决方案
- Android ListView条目按钮点击状态混乱解决方案
- Android Listview 按钮点击状态错乱之解决
- 解决ListView中点击按钮获取当前位置
- 轻松解决listView数据混乱
- Android中listview的item布局中button点击事件position混乱解决
- android listview 混乱 加入checkbox 点击滚动错乱 混乱
- 64ListView中item中有CheckBox带来的选择状态混乱的解决
- Android完美解决ListView复用导致的Checkbox状态混乱问题
- 关于ListView 条目点击混乱的问题
- Android解决按钮加入到ListView控件中的点击冲突
- ListView中CheckBox状态混乱问题
- 按钮点击状态
- iOS 之点击按钮改变状态的图片
- 点击按钮改变颜色和状态之二
- iOS UITableViewCell添加按钮 点击按钮改变按钮状态之坑
- ListView之ViewHolder&下拉加载&item点击保存状态
- PAT1009:说反话
- java根据表生成实体类
- android 自定义view(一)
- Apache Mina(一)
- 新接触Maven 就遇到报错could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstrat:1.1
- ListView 按钮点击状态混乱之解决
- flash air应用添加KeyMob广告管理库中文教程
- ajax
- 固态硬盘参数选项
- linux shell — 8.linux 磁盘与文件系统管理(2)
- 对象模型 对象树 堆 析构
- 1717: 整数因子分解问题
- gcc选项 和 gdb 使用
- ajax的详细例子