2012-02-15 34 views
0

我有一個帶有ListView的活動在我的數據庫中。我想,當我選擇一個,獲得id字段。從ListView獲取字段

lv = (ListView) findViewById(R.id.listMessageConversationView); 
    Cursor c = selectInfoInDB(); 
    int[] to = new int[] {R.id.idMessageClavier, R.id.nomMessageClavier, R.id.valeurMessageClavier, R.id.groupeMessageClavier, R.id.occurrenceMessageClavier}; 

    SimpleCursorAdapter sCA = new SimpleCursorAdapter(this, R.layout.conversation_clavier_display_data, c, SmartAccess_v1Activity.nomColonnesMessage, to); 
    lv.setAdapter(sCA); 

    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {    
      TextView textView = (TextView)findViewById(R.id.idMessageClavier);     
     } 
    }); 

在列表視圖中的字段是正確的,但敬酒給我的ListView的第一個項目的ID,無論我觸摸列表。

我的工作是和我我想不通哪裏是錯-_-

感謝您的幫助,korax

+0

這findView ......正所謂上的活動不能行視圖...使用view.find ...但仍然它..愚蠢的....你應該考慮使用adapterview.getitemsmthin(現在沒有文檔)和 - 因爲你使用光標適配器 - 你會得到光標,指向你的行需要.... – Selvin 2012-02-15 18:58:03

回答

1
list.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int postion, 
        long id) { 
      Toast.makeText(this, "id is :: " + id +"position :: " + position, 
       Toast.LENGTH_SHORT).show(); 

      } 
     });