android-如何在ListView中显示单选按钮并能默认选中

来源:互联网 发布:app软件开发费用 编辑:程序博客网 时间:2024/05/17 23:14

项目中用到了带单选按钮的ListView,本来是计划自己编写一个,结果发现ListView本身就有这个功能,这样大大节省了代码量,

只需要在构建ArrayAdapter对象时将textViewResourceId参数设置为系统内置的android.R.layout.simple_list_item_single_choice就可以了:

下面是具体代码:

package com.tangzq;

 

import java.util.ArrayList;

import java.util.List;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ArrayAdapter;

import android.widget.ListView;

 

public class MyListView_RadioButton extends Activity implements OnItemClickListener{

ListView listview;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

listview=new ListView(this);

//android.R.layout.simple_list_item_single_choice设置ListView项目条带单选按钮

listview.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_single_choice,getData()));

listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//如果不使用这个设置,选项中的radiobutton无法响应选中事件

listview.setItemChecked(2, true);

setContentView(listview);

}

 

@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {

listview.setItemChecked(position, true);

}

   private List<String> getData(){

List<String> data = new ArrayList<String>();

data.add("测试数据1");

data.add("测试数据2");

data.add("测试数据3");

data.add("测试数据4");

data.add("测试数据5");

data.add("测试数据6");

return data;

}

}

http://hi.baidu.com/tzq668766/item/cb291c72dfbe1017d0dcb336