2012-08-07 74 views
0

我有一個列表視圖,顯示每個行/項目(列表項可以有例如2或3個按鈕)的視圖列表。所有項目都設置爲不可調焦,不可點擊。這種方式點擊了對我的ListView OnClick的項目調用。我現在想要做的就是在真正點擊的視圖上調用performClick()(它沒有做任何事情,因爲它被設置爲不可聚焦/可點擊)。這可能嗎?我試圖找到一種方法來獲取基於點擊位置的視圖,但沒有找到任何東西,另一方面onItemClick列表視圖的點擊處理程序似乎不能獲得觸摸的x/y。我知道爲此我可以使用OnTouchEvent,但後來我無法知道被點擊的項目等...重定向OnItem點擊一個ListView到真正的觸摸項目視圖

+0

問題有點令人困惑..你想執行onItemClick當有人點擊任何按鈕?或相反亦然? – 2012-08-07 16:48:17

+0

對不起。我主要希望當用戶點擊屬於列表視圖項目(已經通過自定義列表數據適配器設置)的視圖(例如按鈕)時,接收點擊的是列表而不是按鈕,並且在此之後通過performClick()或其他方式通知按鈕它在我的自定義列表視圖項onclick處理程序中被單擊。我希望現在更清楚。 – Notbad 2012-08-07 16:55:31

+0

所以你想調用兩個控件的onClick事件?對? – 2012-08-07 17:01:52

回答

3

好吧試試這個,可能會幫助你...設置一個常見的onClick按鈕以及作爲ListItem。

@override 
public void onClick(View v) { 
    Sting position=v.getTag().toString();    //<--- like this 
    //task to do when clicks on the view... 
    switch (v.getId()) { 
    case R.id.<id_of_the_button1>: 
      //task to do when clicks on the button 1   
    break; 
    case R.id.<id_of_the_button2>: 
      //task to do when clicks on the button 2   
    break; 
} 

在自定義適配器中實現了OnClickListener,並通過上面的onClick實現了它。

+0

嗯,這可能工作,問題是,我需要知道列表中的位置id(列表項)是否被點擊以獲取某些數據,等等......這就是爲什麼我使用List OnItemClick 。按照你的方法,我對列表中的項目位置一無所知。在我的情況下,我需要這個,因爲每個項目列表是菜單中的不同選項。 – Notbad 2012-08-07 17:17:13

+0

創建列表時將位置設置爲標籤。使用setTag()方法。您可以爲列表項視圖設置標籤。我編輯了答案。 – 2012-08-07 17:24:15

相關問題