zoukankan      html  css  js  c++  java
  • android如何在ListView中显示单选按钮并能默认选中

    项目中用到了带单选按钮的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

  • 相关阅读:
    深度探索C++对象模型之第一章:关于对象之对象的差异
    深度探索C++对象模型之第一章:关于对象之关键词所引起的差异
    C++之constexpr
    STL之空间配置器
    10泛型算法
    C++之指针与数组区别
    数学 之 hdu 4861
    贪心 之 hdu 4864
    01背包(求前一个的最大价值-->求前K个的最大价值) 之 hdu 2639
    01背包(体积为负,改变区间) 之 poj 2184
  • 原文地址:https://www.cnblogs.com/fx2008/p/3133229.html
Copyright © 2011-2022 走看看