2011-06-01 81 views
0

如何將多選列表視圖中的信息保存到數據庫中?我想從列表中保存項目的狀態。例如,如果我有2項檢查我想保存在數據庫中的這種狀態。Android多選列表SQLite

感謝

回答

0

當然fegol,

我假設你已經設置了多重選擇列表視圖。 (如果沒有,請在網上查詢,其中有一堆是http://www.androidpeople.com/android-listview-multiple-choice-example)。

在這裏,我想給你一些關於數據保存問題的提示。

基本上有兩種常見的選擇。 第一個是在你的列表視圖(http://developer.android.com/reference/android/widget/AbsListView.html#getCheckedItemIds())上使用getCheckedItemIds()或getCheckedItemPositions()。

第二個更靈活的是編寫自定義適配器。您可以使用isChecked()來檢查複選框是否已被選中,然後將狀態保存到散列映射中。然後你可以最後得到複選框的所有狀態。

我把第二種方法的一些僞代碼給你。希望這可以幫助。

ArrayList<Boolean> checkList = new ArrayList<Boolean>(); 
    // TODO: put some empty data into checkList 



    private OnItemClickListener myListItemClickListener = new ListView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> arg0, View v, int position, long id) { 


     if(checkList.get(position)){ 
      checkList.set(position, false); 
     }else{ 
      checkList.set(position, true); 
     } 

     ((mAdapter)mList.getAdapter()).notifyDataSetChanged(); 

     } 
    } 



    class mAdapter extends BaseAdapter{ 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 

      if (checkList.get(position)){ 
       checkBox.setChecked(true); 
      }else{ 
       checkBox.setChecked(false); 
      } 
     } 
    } 
+0

嗨ThinknChris。你能告訴我一些關於如何將檢查項從列表視圖保存到數據庫的教程嗎?感謝致敬 – unnamed 2011-06-02 01:10:35