CheckBox滑动后乱序
来源:互联网 发布:建筑工程优化设计方案 编辑:程序博客网 时间:2024/05/21 17:48
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView listview;
List<Map<String, Object>> result=new ArrayList<Map<String,Object>>();
CheckAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
listview=(ListView) findViewById(R.id.test_listview);
getData();
adapter=new CheckAdapter(MainActivity.this, result);
listview.setAdapter(adapter);
}
private void getData(){
for (int i = 0; i <20; i++) {
Map<String, Object> map=new HashMap<String, Object>();
map.put("count", i);
result.add(map);
}
}
}
package com.example.checkdemo;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CheckAdapter extends BaseAdapter {
private Activity mContext;
private List<Map<String, Object>> result=new ArrayList<Map<String,Object>>();
private List<Boolean> isSelectList=new ArrayList<Boolean>();//记录所有列表是否选中的集合
private boolean isCheck=false;
/**
* 改变某一条列表的选中状态
* @param location 列表位置
* @param isSelect 设置true(选中) or false
*/
public void setSelect(int location,boolean isSelect){
isSelectList.set(location, isSelect);
}
/**
* 清除所有列表的值
*/
public void clearAllSelectList(){
isSelectList.clear();
}
/** 根据传入的某一个位置获取列表的信息,是否是选中状态
* @param location 传入某一条位置
* @return
* @return
*/
public boolean getSelect(int location){
if (location<isSelectList.size()) {
return isSelectList.get(location);
}
return false;
}
/**
* 初始化所有列表为未选中状态, 既是设置它的位置为false
* @param helps
*/
public boolean setCheckForHelpList(List<Map<String, Object>> result){
if (result!=null&&result.size()>0) {
for (int i = 0; i <result.size(); i++) {
isSelectList.add(false);
}
}
return false;
}
/**
* 是否显示选中框 true 为显示,否则反
* @param isCheck
*/
public void setCheck(boolean isCheck) {
this.isCheck = isCheck;
}
public CheckAdapter(Activity mContext, List<Map<String, Object>> result) {
super();
this.mContext = mContext;
setCheckForHelpList(result);
this.result = result;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return result.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return result.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView==null) {
holder=new ViewHolder();
convertView=LayoutInflater.from(mContext).inflate(R.layout.test_item, null);
holder.help_item_name=(TextView) convertView.findViewById(R.id.help_item_name);
holder.my_help_circle=(ImageView) convertView.findViewById(R.id.my_help_circle);
convertView.setTag(holder);
}else{
holder=(ViewHolder) convertView.getTag();
}
@SuppressWarnings("unchecked")
Map<String, Object> map=(Map<String, Object>) getItem(position);
holder.help_item_name.setText(map.get("count").toString());
if (getSelect(position)) {//当选中时,就显示选中的图标
holder.my_help_circle.setImageResource(R.drawable.my_help_share_true);
}else{//否则,显示未选中的图标
holder.my_help_circle.setImageResource(R.drawable.my_help_share_false);
}
holder.my_help_circle.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (getSelect(position)) { //如果是选中状态就把它设为未选中
setSelect(position, false);
}else{//如果是未选中,则设置为选中
setSelect(position, true);
}
//刷新列表
notifyDataSetChanged();
}
});
return convertView;
}
class ViewHolder{
TextView help_item_name;
ImageView my_help_circle;
}
}
- CheckBox滑动后乱序
- 解决Checkbox滑动错乱问题
- 【listview&checkbox】listview中有checkbox 滑动后状态改变
- ListView嵌套CheckBox滑动时CheckBox选中状态错乱
- ListView嵌套CheckBox滑动时CheckBox选中状态错乱
- Android listview滑动 checkbox选中会消失
- 滑动ListView时,CheckBox控件错乱
- ListView有CheckBox,滑动混乱问题解决
- listview中嵌套checkbox滑动时错乱
- ListView滑动时CheckBox出现数据错乱
- 使用Bootstrap Switch插件的滑动checkbox
- listview中有checkbox 滑动后状态改变
- listview中有checkbox 滑动后状态混乱现象
- CheckBox在listView滑动后状态改变的解决办法
- 多选删除,listview滑动时checkbox错位措施
- recycleview滑动过程中checkbox控件状态异常
- listview中有checkbox 滑动后状态改变
- 解决checkbox在滑动时选中状态错乱的问题
- js基础对象-编程模式与设计模式
- 文章标题
- HDU 1002 A + B Problem II (大数加法)
- Halcon学习 多层神经网络
- Unity3D-个人学习的道路
- CheckBox滑动后乱序
- php mysql_query 返回值
- Swift中闭包(closure)的使用
- C数据结构学习历程(1) 顺序表
- MPLS调试笔记之FP用法
- Nitrate XML-RPC Service API
- Android CheckBox 图片设置开关
- 灰度线性变换
- Vim多窗口编辑