2012-02-15 71 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(); 

      } 
     });