CheckBox点击刷新后是否乱序
来源:互联网 发布:女装淘宝头像图片 编辑:程序博客网 时间:2024/05/14 10:08
package com.example.checkdemo;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView listView;
private List<A> list;
private Adapter1 adapter1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initDate();
listView = (ListView) findViewById(R.id.listview);
adapter1 = new Adapter1(MainActivity.this);
listView.setAdapter(adapter1);
}
private void initDate() {
list = new ArrayList<A>();
A a;
for (int i = 0; i < 40; i++) {
/*if (i % 2 == 0) {
a = new A(i + "号位", A.TYPE_NOCHECKED);
list.add(a);
} else {
a = new A(i + "号位", A.TYPE_CHECKED);
list.add(a);
}*/
a=new A(i + "号位", A.TYPE_NOCHECKED);
list.add(a);
}
}
class Adapter1 extends BaseAdapter {
private Context mContext;
public Adapter1(Context mContext) {
super();
this.mContext = mContext;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int index = position;
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
System.out.println(mContext);
convertView = LayoutInflater.from(mContext).inflate(R.layout.item, null);
viewHolder.layout = (LinearLayout) convertView.findViewById(R.id.layout);
viewHolder.textView = (TextView) convertView.findViewById(R.id.textView);
viewHolder.checkBox = (CheckBox) convertView.findViewById(R.id.checkBox);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.textView.setText(list.get(position).name);
//该点击事件 与下面设置checkxbox判断不能换位置
viewHolder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
list.get(index).type=A.TYPE_CHECKED;
}else{
list.get(index).type=A.TYPE_NOCHECKED;
}
}
});
if (list.get(index).type==A.TYPE_CHECKED) {
viewHolder.checkBox.setChecked(true);
}else{
viewHolder.checkBox.setChecked(false);
}
return convertView;
}
class ViewHolder {
LinearLayout layout;
TextView textView;
CheckBox checkBox;
}
}
class A {
public static final int TYPE_CHECKED = 1;
public static final int TYPE_NOCHECKED = 0;
String name;
int type;
public A(String name, int type) {
this.name = name;
this.type = type;
}
}
}
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView listView;
private List<A> list;
private Adapter1 adapter1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initDate();
listView = (ListView) findViewById(R.id.listview);
adapter1 = new Adapter1(MainActivity.this);
listView.setAdapter(adapter1);
}
private void initDate() {
list = new ArrayList<A>();
A a;
for (int i = 0; i < 40; i++) {
/*if (i % 2 == 0) {
a = new A(i + "号位", A.TYPE_NOCHECKED);
list.add(a);
} else {
a = new A(i + "号位", A.TYPE_CHECKED);
list.add(a);
}*/
a=new A(i + "号位", A.TYPE_NOCHECKED);
list.add(a);
}
}
class Adapter1 extends BaseAdapter {
private Context mContext;
public Adapter1(Context mContext) {
super();
this.mContext = mContext;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int index = position;
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
System.out.println(mContext);
convertView = LayoutInflater.from(mContext).inflate(R.layout.item, null);
viewHolder.layout = (LinearLayout) convertView.findViewById(R.id.layout);
viewHolder.textView = (TextView) convertView.findViewById(R.id.textView);
viewHolder.checkBox = (CheckBox) convertView.findViewById(R.id.checkBox);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.textView.setText(list.get(position).name);
//该点击事件 与下面设置checkxbox判断不能换位置
viewHolder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
list.get(index).type=A.TYPE_CHECKED;
}else{
list.get(index).type=A.TYPE_NOCHECKED;
}
}
});
if (list.get(index).type==A.TYPE_CHECKED) {
viewHolder.checkBox.setChecked(true);
}else{
viewHolder.checkBox.setChecked(false);
}
return convertView;
}
class ViewHolder {
LinearLayout layout;
TextView textView;
CheckBox checkBox;
}
}
class A {
public static final int TYPE_CHECKED = 1;
public static final int TYPE_NOCHECKED = 0;
String name;
int type;
public A(String name, int type) {
this.name = name;
this.type = type;
}
}
}
0 0
- CheckBox点击刷新后是否乱序
- Android ListView 中的CheckBox点击乱系
- Android listview--checkbox乱序
- RecyclerView+Checkbox乱序问题
- RecyclerView+Checkbox乱序问题
- RecyclerView+CheckBox乱序问题解决
- 判断是否点击在listctrl的checkbox
- CtrlList判断点击的是否为CheckBox
- 点击CheckBox复选框是否记住密码
- listview中checkbox乱序问题
- 显示checkBox后,item不能点击了
- 页面实现验证码功能,点击“注册”按钮后,无论是否完成注册,验证码都能够自动刷新
- <button> 元素点击后刷新的问题
- 判断是否点击在listctrl的checkbox上
- 判断是否点击在listctrl的checkbox上
- listView中添加checkBox按键,点击是否选中处理。
- 点击删除后出现CheckBox实现批量删除
- android ListView中有checkbox后item点击事件失效
- 分享:如何稳步提升网站的排名
- iOS 蓝牙 4.0
- Android 开源交流分享汇总
- 微信公众号与传统企业对接
- 红尘小女子
- CheckBox点击刷新后是否乱序
- An internal error occurred during: "Validating **".问题处理
- 4种方法把数据绑定到DropDownList
- Boost使用Thread库
- python 机器学习——文本特征抽取与向量化
- 安卓多线程处理(转)
- 最小优先级队列
- PHP开发人员容易忽略的几点精华
- 全栈工程师有什么用(转载)