2013-05-11 139 views
0

我有一个listView,每一行显示一个文本。每一行从具有2个字段数据库中获取:在Android ListView中获取选定的项目ID(从数据库)

1 ID

2文本

现在,在我的名单上有只显示我的文字而不是ID。但我需要当我点击列表行获取与他的文本相关的每行ID。实际上我从db获取文本,id对并显示文本并在点击事件中使用id。但我怎么能做到这一点?我如何将id与每一行相关联?

回答

0

集ID作为标记到ListView的onClick内,在每个视图检索

+0

你可以给我一个简单的例子? – Fcoder 2013-05-11 22:59:42

+0

'查看textView = findViewById(R.id.textview);在侦听器的onclick方法中,执行'long id = view.getTag();' – 2013-05-12 14:27:50

0

在适配器中,设置的TextView的标签。

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View listView = null; 
    LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    if(convertView == null){ 
     listView = inflater.inflate(R.layout.list_item, null); 
    } 
    else{ 
     listView = convertView; 
    } 

    TextView tv = (TextView) listView.findview(R.id.textview); 
    tv.setText("my-text"); 
    tv.setTag("my-id"); 

    return listView; 
} 

检索ID:

// Main Activity 
@Override 
public void onListItemClick(ListView l, View v, int position, long id) { 
    TextView tv = (TextView)v.findViewById(R.id.textview); 
    String id = tv.getTag().toString(); 
} 
相关问题