日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 应用之listview添加radiobutton,获取textView

發布時間:2025/6/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 应用之listview添加radiobutton,获取textView 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

程序效果:

點擊一整行,更換radiobutton選擇。

xml代碼:

[java]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <RelativeLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:id="@+id/layout"??
  • ????android:orientation="horizontal"??
  • ????android:layout_width="fill_parent"??
  • ????android:layout_height="fill_parent"??
  • ????>??
  • ???<TextView??android:id="@+id/list_text"??
  • ????android:layout_width="wrap_content"???
  • ????android:layout_height="wrap_content"???
  • ????android:layout_centerVertical="true"??
  • ????/>??
  • ???<ImageView?android:id="@+id/list_radioImg"??
  • ????android:layout_width="wrap_content"??
  • ????android:layout_height="wrap_content"??
  • ????android:layout_alignParentRight="true"/>??
  • </RelativeLayout>??
  • ?

    java代碼:

    [java]?view plaincopy
  • import?java.util.ArrayList;??
  • import?java.util.HashMap;??
  • import?java.util.List;??
  • import?java.util.Map;??
  • import?android.app.ListActivity;??
  • import?android.os.Bundle;??
  • import?android.view.View;??
  • import?android.widget.ListView;??
  • import?android.widget.SimpleAdapter;??
  • import?android.widget.Toast;??
  • public?class?listRadioBtn?extends?ListActivity?{??
  • ????/**?Called?when?the?activity?is?first?created.?*/??
  • ????private?int?balanceIndex?=?0;??
  • ????SimpleAdapter?adapter;??
  • ????List<Map<String,?Object>>?list;??
  • ??????
  • ????@Override??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ??????????
  • ????????adapter=?new?SimpleAdapter(this,getData(),R.layout.main,new?String[]{"text","img"},new?int[]{R.id.list_text,R.id.list_radioImg});???
  • ??????????
  • ????????setListAdapter(adapter);??
  • ????}??
  • ??????????
  • ????????private?List<Map<String,?Object>>?getData(){??
  • ?????????????list?=?new?ArrayList<Map<String,?Object>>();??
  • ????????????Map<String,?Object>?map_day?=?new?HashMap<String,?Object>();???
  • ????????????map_day.put("text",?"白天");????
  • ????????????map_day.put("img",?R.drawable.setlist_radio_on);??????????????
  • ????????????list.add(map_day);??
  • ??????????????
  • ????????????Map<String,?Object>?map_clody?=?new?HashMap<String,?Object>();???
  • ????????????map_clody.put("text",?"陰天");????
  • ????????????map_clody.put("img",?R.drawable.setlist_radio_off);???????????????
  • ????????????list.add(map_clody);???
  • ??????????????
  • ????????????Map<String,?Object>?map_clo?=?new?HashMap<String,?Object>();???
  • ????????????map_clo.put("text",?"微風");????
  • ????????????map_clo.put("img",?R.drawable.setlist_radio_off);?????????????
  • ????????????list.add(map_clo);???
  • ??????????????
  • ????????????return?list;??
  • ????????}??
  • ??????????
  • ????????protected?void?onListItemClick(ListView?arg0,?View?arg1,?int?arg2,?long?arg3)?{??
  • ?????????Toast?t?=?Toast.makeText(this,?""+list.get(arg2).get("text"),?Toast.LENGTH_LONG);??
  • ?????????t.show();??
  • ????????????
  • ?????????????ChangeRadioImg(balanceIndex,false);??
  • ?????????????ChangeRadioImg(arg2,true);??
  • ?????????????balanceIndex=arg2;?????
  • ???????????????
  • ?????????????list.get(arg2).get("text");??
  • ?????????}??
  • ??????????
  • ????????private?void?ChangeRadioImg(int?selectedItem,?boolean?b)?{??
  • ????????????SimpleAdapter?la?=?adapter;???
  • ????????????HashMap<String,?Object>?map?=?(HashMap<String,?Object>)la.getItem(selectedItem);????
  • ????????????if(b)??
  • ????????????????map.put("img",?R.drawable.setlist_radio_on);??
  • ????????????else??
  • ????????????????map.put("img",?R.drawable.setlist_radio_off);??
  • ???????????la.notifyDataSetChanged();??
  • ??????????????
  • ????????}??
  • ?????????
  • }??
  • ?

    另一個簡單辦法:

    android系統中,提供了這樣的方法

    mylist.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

    ?

    程序主代碼:

    [java]?view plaincopy
  • protected?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????super.onCreate(savedInstanceState);??
  • ????????setContentView(R.layout.list_layout);??
  • ????????contentString?=?new?String[]?{???
  • ????????????????"示例",?"透明動畫",??
  • ????????????????"伸縮動畫",?"移動動畫",??
  • ????????????????"旋轉動畫",?"透明_伸縮",??
  • ????????????????"透明_移動",?"透明_旋轉"??
  • ??????????????????
  • ????};??
  • ????????arrayAdapter?=?new?ArrayAdapter<String>(this,??
  • ????????????????android.R.layout.simple_list_item_single_choice,??
  • ????????????????contentString);??
  • ????????mylist?=?(ListView)?findViewById(R.id.ListView01);??
  • ????????mylist.setAdapter(arrayAdapter);??
  • ????????mylist.setOnItemClickListener(this);??
  • ????????mylist.setOnItemSelectedListener(this);??
  • ????????mylist.setChoiceMode(ListView.CHOICE_MODE_SINGLE);??
  • ????????mylist.setItemChecked(0,?true);??
  • ????}??
  • 其中,android.R.layout.simple_list_item_single_choice在framework/base/core/res/res/layout目錄下,可參見源碼

    ?

    ?

    三 多選框

    [java]?view plaincopy
  • import?android.app.Activity;??
  • import?android.os.Bundle;??
  • import?android.view.View;??
  • import?android.widget.AdapterView;??
  • import?android.widget.AdapterView.OnItemClickListener;??
  • import?android.widget.AdapterView.OnItemSelectedListener;??
  • import?android.widget.ArrayAdapter;??
  • import?android.widget.ListView;??
  • public?class?ListCheckbox?extends?Activity?implements?OnItemClickListener,OnItemSelectedListener{??
  • ????private?String?contentString[];??
  • ????ArrayAdapter?arrayAdapter;??
  • ????ListView?mylist;??
  • ????protected?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????super.onCreate(savedInstanceState);??
  • ????????setContentView(R.layout.main);??
  • ????????contentString?=?new?String[]?{???
  • ????????????????"示例",?"透明動畫",??
  • ????????????????"伸縮動畫",?"移動動畫",??
  • ????????????????"旋轉動畫",?"透明_伸縮",??
  • ????????????????"透明_移動",?"透明_旋轉"??
  • ??????????????????
  • ????};??
  • ????????arrayAdapter?=?new?ArrayAdapter<String>(this,??
  • ????????????????android.R.layout.simple_list_item_multiple_choice,//.simple_list_item_single_choice,??
  • ????????????????contentString);??
  • ????????mylist?=?(ListView)?findViewById(R.id.ListView01);??
  • ????????mylist.setAdapter(arrayAdapter);??
  • ????????mylist.setOnItemClickListener(this);??
  • ????????mylist.setOnItemSelectedListener(this);??
  • ????????mylist.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//.CHOICE_MODE_SINGLE);??
  • ????????mylist.setItemChecked(0,?true);??
  • ????}??
  • ????public?void?onItemSelected(AdapterView<?>?arg0,?View?arg1,?int?arg2,long?arg3)?{??
  • ????????mylist.setItemChecked(arg2,?true);??
  • ??????????
  • ????}??
  • ????public?void?onNothingSelected(AdapterView<?>?arg0)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ??????????
  • ????}??
  • ????public?void?onItemClick(AdapterView<?>?arg0,?View?arg1,?int?arg2,?long?arg3)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ??????????
  • ????}??????
  • }??
  • ?

    main.xml

    [xhtml]?view plaincopy
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:orientation="vertical"??
  • ????android:layout_width="fill_parent"??
  • ????android:layout_height="fill_parent"??
  • ????>??
  • <ListView?android:id="@+id/ListView01"???
  • android:layout_width="fill_parent"??
  • ?android:layout_height="fill_parent"/>??
  • </LinearLayout>??
  • ?

    總結

    以上是生活随笔為你收集整理的android 应用之listview添加radiobutton,获取textView的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。