2012-01-20 52 views
1

我有一個使用simpleAdapter構建的列表視圖,每行由包含TableRow和幾個TextView的Layout定義。Android Listview simpleadapter onClick,如何找到哪個視圖被點擊?

我該怎麼做才能知道點擊了哪個TextView(在佈局中)?

如果我在Listview上使用OnItemClickListener,我能夠獲得listview行(位置),但是它不告訴我該行上的哪個TextView被點擊過。

我想借這取決於TextView的用戶在ListView

listview 

----------------------- 
TextView1 : TextView2 |  <--Row1 
----------------------- 
TextView1 : TextView2 |  <--Row2 
----------------------- 
TextView1 | TextView2 |  <--Row3 
----------------------- 

我希望能夠告訴點擊,該行2的TextView2是點擊不同的行動。

希望我能夠很好地解釋我自己。

感謝您

回答

1

如果點擊是由onItemClick處理,則無法從這個ViewView被點擊哪知道。一個OnItemClickListener只是處理點擊一個列表項目。您可以嘗試的是使用自定義adapter,其中您抓住了getView()行中的所有視圖,並在其中設置了onClickListeners。或者如果可能的話,您可以直接在View類中定義onClickListeners

4

您可以使用下面的代碼在你的名單活動

setListAdapter(new ArrayAdapter<String>(this, R.layout.your name, String Name)); 

    ListView lv = getListView(); 
    lv.setTextFilterEnabled(true); 



    lv.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 

     // When clicked, show a toast with the TextView text 
     Toast.makeText(getApplicationContext(), ((TextView) view).getText(), 
      Toast.LENGTH_SHORT).show(); 

    } 
    }); 
} 
0

你可以處理不同的看法的在Adapter.The適配器點擊必須定製

+0

你能以何種方式適配器需要更具體被定製,或者可能指向我的一個例子。謝謝 –

相關問題