我剛剛在幾周前在android中開始編程,所以我不完全確定如何處理列表值。請幫助我! 我有一些關於從列表中顯示數據集的問題。目前我有一個遊標由我的db點返回到行列表中,我希望在列表的單行中顯示2列值。行XML看起來是這樣的:計算db數據,然後使用SimpleCursorAdapter或ArrayAdapter列出它們
<TextView android:id="@+id/text1"
android:textSize="16sp"
android:textStyle="bold"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/text2"
android:textSize="14sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
所以我用simplecursoradapter這理應使我的生活在一個列表中顯示的數據更容易思考。但是,只有當我想顯示原始數據時纔是如此。 爲了我的程序的目的,我需要對原始數據集進行一些計算,然後顯示它們。我不知道如何使用SimpleCursorAdapter來做到這一點。下面是如何顯示的原始數據:
String[] from = new String[]{BtDbAdapter.KEY_EX_TYPE,BtDbAdapter.KEY_EX_TIMESTAMP};
int[] to = new int[]{R.id.text1, R.id.text2};
// Now create a simple cursor adapter and set it to display
SimpleCursorAdapter records =
new SimpleCursorAdapter(this, R.layout.exset_row, mExsetCursor, from, to);
setListAdapter(records);
有沒有辦法做到在數據計算中的行之前,我與SimpleCursorAdapter綁定呢?我試圖通過使用arraylist和arrayadapter使用另一種方式來做到這一點,但這樣我不知道如何實現在單行中顯示2項。
這是我使用arrayadapter代碼只顯示1箇中的文本行,而不是2個textviews一排:
//fill in the array
timestamp_arr = new ArrayList<String>();
type_arr = new ArrayList<String>();
fillRecord();
Log.d(TAG,"setting now in recordlist");
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,timestamp_arr));
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item2,type_arr));
這是非常明顯的,它只是顯示一個TextView的一排,因爲我設置第二個arrayadapter覆蓋第一個!我試圖爲他們使用R.id.text1和R.id.text2,但它給了我一些錯誤,說: 04-23 01:40:58.658:ERROR/AndroidRuntime(3309):android.content.res.Resources $ NotFoundException:資源ID#0x7f070008類型#0x12無效
我相信第二種方法可以實現這一點,但我不知道如何處理佈局問題,所以如果您有任何建議,請發佈出來。謝謝!!