本文主要实现在自定义的ListView布局中加入CheckBox控件,通过判断用户是否选中CheckBox来对ListView的选中项进行相应的操作。通过一个Demo来展示该功能,选中ListView中的某一项,然后点击Button按钮来显示选中了哪些项。
1、程序结构图如下:
其中Person.java是实体类,MainActivity.java是Activity组件类。listitem.xml是自定义的列表每项布局文件。
2、listitem.xml布局文件源码如下:
3、 main.xml布局文件源码如下:
4、Person.java实体类源码如下:
package com.andyidea.bean;
public class Person {
private String name;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
5、MainActivity.java类源码如下:
package com.andyidea.listview;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.andyidea.bean.Person;
import android.app.Activity;
import android.app.alertDialog;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.baseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
Button show;
ListView lv;
List persons = new ArrayList();
Context mContext;
MyListAdapter adapter;
List listItemID = new ArrayList();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContext = getApplicationContext();
show = (Button)findViewById(R.id.show);
lv = (ListView)findViewById(R.id.lvperson);
initPersonData();
adapter = new MyListAdapter(persons);
lv.setAdapter(adapter);
show.setonClickListener(new View.onClickListener() {
@Override
public void onClick(View v) {
listItemID.clear();
for(int i=0;i mChecked;
List listPerson;
HashMap map = new HashMap();
public MyListAdapter(List list){
listPerson = new ArrayList();
listPerson = list;
mChecked = new ArrayList();
for(int i=0;i
程序运行后的结果如下:
希望本文所述对大家学习Android软件编程有所帮助。



