您的位置:首页 > 移动开发 > Android开发

Android开发:在ListView实现多选项CheckBox的例子

2011-11-04 15:13 507 查看
下面是一个在Android ListView中实现多选的例子代码:

XML布局资源文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout android:id="@+id/LinearLayout01"

android:layout_width="fill_parent" android:layout_height="fill_parent"

xmlns:android="http://schemas.android.com/apk/res/android">

<ListView android:id="@+id/ListView01" android:layout_height="wrap_content"

android:layout_width="fill_parent">

</ListView>

</LinearLayout>

在Activity中绑定列表并显示:

public class ListViewMultipleChoiceExample extends Activity {

private ListView lView;

private String lv_items[] = { "Android", "iPhone", "BlackBerry",

"AndroidPeople", "J2ME", "Listview", "ArrayAdapter", "ListItem",

"Us", "UK", "India" };

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.main);

lView = (ListView) findViewById(R.id.ListView01);

// Set option as Multiple Choice. So that user can able to select more the one option from list

lView.setAdapter(new ArrayAdapter<String>(this,

android.R.layout.simple_list_item_multiple_choice, lv_items));

lView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

}

}

效果界面如下:



获取选中的列表项操作:

lView.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3)

{

List list = new ArrayList();

SparseBooleanArray a = lView.getCheckedItemPositions();

for(int i = 0; i < lv_items.length ; i++)

{

if (a.valueAt(i))

{

Long val = lView.getAdapter().getItemId(a.keyAt(i));

Log.v(TAG, "index=" + val.toString());

list.add(lView.getAdapter().getItemId((a.keyAt(i))));

}

}

}

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: