您好,登錄后才能下訂單哦!
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的實例,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。