2013-05-11 140 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(); 
} 
相關問題