2011-03-10 16 views
3

我有一個列表視圖有三個文本視圖(id,名稱,分數)。我正在顯示數據庫中的名稱和分數,我想將該ID顯示爲遞增數字(1,2,3,4)。 我該怎麼做?如何顯示列表視圖的行號

我也可以顯示id表單數據庫,但問題是我顯示名稱和分數降序(得到降序)的分數。

回答

1

根據我的理解,您可以將視圖中的ID直接設置爲(位置+ 1)。從這個角度來看,你的'身份證'實際上是一個櫃檯。

+0

如何將id設置爲(位置+ 1)。 – 2011-03-10 23:36:51

+0

感謝您的回覆。你明白正確。 我如何設置id到(位置+ 1)。要填充名稱和分數,我正在使用 String [] from = new String [] {DBAdapter.KEY_NAME,DBAdapter.KEY_SCORE}; int [] to = new int [] {R.id.name,R.id.score}; \t \t SimpleCursorAdapter scores = new SimpleCursorAdapter(this,R.layout.score_row,c,from,to); \t \t setListAdapter(scores); 現在我怎樣才能讓我的視圖R.id.row_id作爲計數器 – 2011-03-10 23:47:05

+0

我會說你將不得不擴展SimpleCursorAdapter - 那麼你可以重寫bindView方法,讓超類爲你做大部分工作(for鍵和分數),然後根據您可以通過調用cursor.getPosition()獲得的光標位置設置計數器。資源:http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html#bindView%28android.view.View,%20android.content.Context,%20android.database.Cursor%29 and http:// developer.android.com/reference/android/database/Cursor.html#getPosition%28%29 – mreichelt 2011-03-11 00:48:03

4

感謝您的回答。它絕對解決了我面臨的類似問題。這裏是我做的一個詳細的例子:

  1. 我有一個ListView其中每一行是一個RelativeLayout。該RelativeLayout的包含ID「serial_no」這是應該包含我想要顯示
  2. 我延長了SimpleCursorAdapter如下行號一個TextView:

    public class CustomCursoAdapter extends SimpleCursorAdapter{ 
    
        public CustomCursoAdapter(Context context, int layout, Cursor c, 
          String[] from, int[] to) { 
         super(context, layout, c, from, to); 
         // TODO Auto-generated constructor stub 
        } 
    
        @Override 
        public void bindView(View view, Context context, Cursor cursor) 
        { 
          int temp =cursor.getPosition()+1; 
          RelativeLayout rl = (RelativeLayout) view; 
          TextView tv = (TextView) rl.findViewById(R.id.serial_no); 
          tv.setText(""+temp); 
         super.bindView(view, context, cursor); 
        } 
    } 
    
  3. 在我的活動類,而不是調用的SimpleCursorAdapter,我現在調用CustomCursorAdapter。它的工作原理!

0

使用此行代碼並在TextView中顯示或附加列表Text。

cursor.getPosition()+1;