package com.example.test_eaxm01;
import java.util.ArrayList;
import java.util.List;
import com.example.vo.User;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView lv;
private List<User>list=new ArrayList<User>();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView) findViewById(R.id.lv);
for(int i=0;i<20;i++){
User u=new User();
u.setName("张三"+i);
u.setAddress("北京"+i);
u.setCheckbox(false);
list.add(u);
}
Myadapter myadapter=new Myadapter();
lv.setAdapter(myadapter);
}
class Myadapter extends BaseAdapter{
@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 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHoder h=null;
if(convertView==null){
h=new ViewHoder();
convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.items, null);
h.name=(TextView) convertView.findViewById(R.id.textView1);
h.address=(TextView) convertView.findViewById(R.id.textView2);
h.box=(CheckBox) convertView.findViewById(R.id.checkBox1);
convertView.setTag(h);
}else{
h=(ViewHoder) convertView.getTag();
}
//根据判断值,判断checkbox应该显示什么状态
if(list.get(position).isCheckbox()){
h.box.setChecked(true);
}else{
h.box.setChecked(false);
}
h.box.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
int sum=0;
//赋值
User u=list.get(position);
u.setCheckbox(isChecked);
// for(User uu:list){
// if(u.isCheckbox()){
//
//
// }
//}
}
});
// checkbox监听,,,,如果当前数据的状态是true,就讲数据改成false,然后刷新adapter,重新加载
// h.box.setOnLongClickListener(new OnLongClickListener() {
//
// @Override
// public boolean onLongClick(View v) {
判断当前点击项数据为true还是false
// if(list.get(position).isCheckbox()){
// list.get(position).setCheckbox(true);
//
// }else{
// //.get(position).setCheckbox(false);
//
//
// }
// notifyDataSetChanged();
// return false;
// }
// });
h.name.setText(list.get(position).getName());
h.address.setText(list.get(position).getAddress());
return convertView;
}
class ViewHoder{
TextView name,address;
ImageView image;
CheckBox box;
}
}
}
import java.util.ArrayList;
import java.util.List;
import com.example.vo.User;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView lv;
private List<User>list=new ArrayList<User>();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView) findViewById(R.id.lv);
for(int i=0;i<20;i++){
User u=new User();
u.setName("张三"+i);
u.setAddress("北京"+i);
u.setCheckbox(false);
list.add(u);
}
Myadapter myadapter=new Myadapter();
lv.setAdapter(myadapter);
}
class Myadapter extends BaseAdapter{
@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 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHoder h=null;
if(convertView==null){
h=new ViewHoder();
convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.items, null);
h.name=(TextView) convertView.findViewById(R.id.textView1);
h.address=(TextView) convertView.findViewById(R.id.textView2);
h.box=(CheckBox) convertView.findViewById(R.id.checkBox1);
convertView.setTag(h);
}else{
h=(ViewHoder) convertView.getTag();
}
//根据判断值,判断checkbox应该显示什么状态
if(list.get(position).isCheckbox()){
h.box.setChecked(true);
}else{
h.box.setChecked(false);
}
h.box.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
int sum=0;
//赋值
User u=list.get(position);
u.setCheckbox(isChecked);
// for(User uu:list){
// if(u.isCheckbox()){
//
//
// }
//}
}
});
// checkbox监听,,,,如果当前数据的状态是true,就讲数据改成false,然后刷新adapter,重新加载
// h.box.setOnLongClickListener(new OnLongClickListener() {
//
// @Override
// public boolean onLongClick(View v) {
判断当前点击项数据为true还是false
// if(list.get(position).isCheckbox()){
// list.get(position).setCheckbox(true);
//
// }else{
// //.get(position).setCheckbox(false);
//
//
// }
// notifyDataSetChanged();
// return false;
// }
// });
h.name.setText(list.get(position).getName());
h.address.setText(list.get(position).getAddress());
return convertView;
}
class ViewHoder{
TextView name,address;
ImageView image;
CheckBox box;
}
}
}