2013-01-03 23 views
1

我正在使用HashMap以列表視圖存儲數據,我有兩個TextViewListView。不,我只想要其中一個textview的值。我怎麼能通過onItemClick()方法得到它?如何從由Hashmap組成的listview中獲取特定的textview值?

這是我曾嘗試代碼:

public void onItemClick(AdapterView<?> parent, View view, int position, 
        long id) { 

       String mp =map.get(position); 
       String str_Title = map.get(position); 
} 

回答

3
在onItemClick事件

HashMap<String, String> mymap = (HashMap<String, String>) parent.getItemAtPosition(position); 
String str_Title = mymap.get(<KEY>); 

簡單。

+0

由於它的工作原理獲取其中的一個...... – Dhwani

+0

什麼'()'那裏? – user1708134

+0

當你創建帶有多列的列表視圖時,你需要添加一個哈希表,該哈希表需要一個關鍵字符串和一個值,該關鍵字字符串是引用的,以便稍後調用它。這裏的表示爲這個單元添加使用的密鑰。 –

0

這樣嘗試: -

list.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View arg1, int pos, 
       long arg3) { 
      String mp =map.get(position).yourvalue; 
         String str_Title = map.get(position).title; 

     } 
    }); 
0

一個HashMap要求其鍵和值的對象。 positionint,因此不是Object,不能用作鍵或值。

要使用整數作爲鍵,你需要將它們轉換爲Integer對象:

int index = 1; 
map.put(Integer.valueOf(index), myObject); 

,並抓住對象:

map.get(Integer.valueOf(position)); 
0

觀點應該是與兩個TextView的行視圖,也許你可以使用 TextView txt = (TextView)view.findViewById(R.id.your_text_view)