android listview 有 checkbox 时点击没反应 解决办法

来源:互联网 发布:java发送https请求 编辑:程序博客网 时间:2024/05/01 18:04

现象:当 ListView的Item上有一个CheckBox,点击ListView无响应,解决办法如下:


设置checkbox的android:focusable="false"  就行了。


另外:ListView的Item上有一个CheckBox 了,那怎么选中item的时候 这个checkbox也选中呢? 解决办法如下:

1:

android:focusable="false" android:clickable="false" 

2:activity 中使用:


listview.setOnItemClickListener(new OnItemClickListener(){                @Override            public void onItemClick(AdapterView<?> parent, View view,                    int position, long id) {                // TODO Auto-generated method stub                System.out.println("aa");                ViewHolder vHollder = (ViewHolder) view.getTag();                    //在每次获取点击的item时将对于的checkbox状态改变,同时修改map的值。                    vHollder.cBox.setChecked(true);                boolean check = vHollder.cBox.isChecked();                MyAdapter.isSelected.put(position, check);             }            });  


3:adapter中设置:


 @Override        public View getView(int position, View convertView, ViewGroup parent) {            ViewHolder holder = null;            //convertView为null的时候初始化convertView。            if (convertView == null) {                holder = new ViewHolder();                convertView = mInflater.inflate(R.layout.listviewcontent, null);                holder.title = (TextView) convertView.findViewById(R.id.text);                holder.cBox = (CheckBox) convertView.findViewById(R.id.checkbox);                convertView.setTag(holder);            } else {                holder = (ViewHolder) convertView.getTag();            }                     holder.title.setText(mData.get(position).get("title").toString());            holder.cBox.setChecked(isSelected.get(position));            return convertView;        }            public class ViewHolder {            public TextView title;            public CheckBox cBox;        }    



1 0
原创粉丝点击