0

我有一个 listView ,它的每一行都显示一个文本。从具有 2 个字段的数据库中获取的每一行:

1-身份证

2文本

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

4

2 回答 2

0

将 id 设置为 listView 内每个视图的标签,并在 onClick 中检索它

于 2013-05-11T22:38:18.723 回答
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();
}
于 2013-05-12T01:02:19.113 回答