2013-06-22 78 views
0

我有一個ListViewBaseAdapter它的項目是LinearLayout。在LinearLayout裏面,有一個TextView和一個RadioGroup安卓系統:有什麼方法可以找出哪個視圖被點擊

我寫了一個OnItemClickListener的listview。但是,當我點擊ListView內的項目時。沒有反應!

我想知道如何才能找出正在點擊哪個視圖。有沒有像Log.setShowClickingView(true)這樣的方法?

+1

請在此發佈您的代碼,以便我們可以爲您提供幫助。 – Cata

+0

請參考[此鏈接](http://www.mkyong.com/android/android-listview-example/)。它會引導你正確的方向。 – CRUSADER

回答

2

首先,你需要在你的XML的事件是這樣的

android:onClick="myCheckMethod" 

記住,你需要聲明/寫這個語句您的按鈕和單選按鈕。

現在,在您的Java文件(類)申報的方法,並與視圖匹配它,你就會知道哪種說法被點擊

public void myCheckMethod(View v) { 
    // does something very interesting 

    String Caller = ""; 
    if (R.id.DI == v.getId()) { 
     Caller = "DI"; 
    } else if (R.id.btnExp == v.getId()) { 
     Caller = "Exp"; 
    } 
    Log.i(Tag,"View Clicked was:"+Caller); 
} 

編輯用戶要求知道如何知道ID

getResources().getResourceEntryName(int resid); 

getResources().getResourceName(int resid); 

你」我更喜歡我猜的第一個。

+0

非常感謝,這可能會起作用。 :D 接下來的問題是,我需要在xml文件中添加每一個視圖的onclick:( – user2511393

+0

)雅幾乎只有你需要onClick事件 – MDMalik

+0

我發現了這個bug我發現這個bug通過setOnClickListener與toast.makeText在每一個視圖中,真正的問題是我不知道哪個視圖是點擊負責的 再次謝謝你:D – user2511393

1

當使用OnItemClickListener,返回的事情之一是該項目的列表視圖中的位置被點擊:

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

      Toast.makeText(getBaseContext(), "Item clicked: " + position, Toast.LENGTH_LONG).show(); 

     } 
    }); 

在上述例子中,「整數位置」表示被點擊的項目。 Toast消息與被點擊的項目的索引一起顯示。

+0

其實,我已經寫了這個。代替Toast.makeText,我寫了Log.d(「click」,「ListView click」);但LogCat中沒有發生任何事情。無論如何,謝謝你的回答。:) – user2511393

相關問題