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的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!