欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android ListView中动态添加RaidoButton的实例详解

程序员文章站 2023-11-26 19:51:22
android listview中动态添加raidobutton的实例详解 这里讲解的内容是:从数据库中取得数据,将这些数据的value值赋值给radiobutton的t...

android listview中动态添加raidobutton的实例详解

这里讲解的内容是:从数据库中取得数据,将这些数据的value值赋值给radiobutton的text属性,将这些数据的key值赋值给radiobutton的key值。同时实现点击一整行,更换radiobutton选择。

xml代码:主要是添加一个listview控件

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" > 
 
   <listview android:id="@+id/listview01"   
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"/>  
 
</relativelayout> 

下面是后台代码

说明:这里没有将需要引入的包贴出来,只是列举了其中重要的部分。

public class testactivity extends activity { 
   
   //初始化字符数组:arrayvalue用于存放数据库中取得的key值,arraytext用于存放数据库中取得的value值 
   string[] arrayvalue; 
   string[] arraytext; 
    
  @override 
  public void oncreate(bundle savedinstancestate) { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.activity_test_item);     
     
    //保证线程安全,防止多线程同时运行 
    strictmode.setthreadpolicy(new strictmode.threadpolicy.builder() 
    .detectdiskreads() 
    .detectdiskwrites() 
    .detectall()   
    .build()); 
     
    //初始化dbhelper 
     final dbhelper dbhelper = new dbhelper(this); 
     //查询业务类型语句 
     string sql = "select * from t_test";   
     final cursor cur = dbhelper.select(sql); 
      
    // 防止数据库中无数据出错 
    if (cur != null && cur.getcount() > 0) { 
      arraytext = new string[cur.getcount()]; 
      arrayvalue = new string[cur.getcount()]; 
      // 移动到第一条记录 
      cur.movetofirst(); 
      int i = 0; 
      int index = 0; 
      // 遍历cursor,把数据添加到数组中 
      while (!cur.isafterlast()) { 
        index = cur.getcolumnindex("要查找的列名"); 
        arraytext[i] = cur.getstring(index); 
        index = cur.getcolumnindex("id"); 
        arrayvalue[i] = cur.getstring(index); 
        i++; 
        cur.movetonext(); // 移动到下一条记录 
      } 
    } 
       
      string[] contentstring = arraytext; 
      //创建listview适配器,存放取得的radiobutton 
      arrayadapter<string> arrayadapter = new arrayadapter<string>( this,  
          android.r.layout.simple_list_item_single_choice,  
          contentstring);  
      listview mylist = (listview)findviewbyid(r.id.listview01);  
      mylist.setadapter(arrayadapter);     
       
      //radiobutton监听事件 
      mylist.setonitemclicklistener(new onitemclicklistener() { 
        public void onitemclick(adapterview<?> arg0, view arg1, int arg2, 
            long arg3) {           
          //将选择的radiobutton的value值传入到实体类applicationdata中 
          appdata.businessid =arrayvalue[arg2]; 
           
        } 
      });  
      //设置选择模式:单选模式 
      mylist.setchoicemode(listview.choice_mode_single);  
  
  } 
 
  @override 
  public boolean oncreateoptionsmenu(menu menu) { 
    getmenuinflater().inflate(r.menu.activity_business_item, menu); 
    return true; 
  }   
} 

以上就是android listview中动态添加raidobutton的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!