我有ListView
BaseAdapter
,其项目为LinearLayout
。在LinearLayout
内,有一个TextView
和一个RadioGroup
。
我为listview写了OnItemClickListener
。但是,当我点击ListView
内的项目时。什么都没有回应!
我想知道如何找出被点击的视图。有没有像Log.setShowClickingView(true)
?
答案 0 :(得分:2)
首先,你需要在你的Xml中有一个类似这样的事件
android:onClick="myCheckMethod"
请记住,您需要为按钮和单选按钮声明/写入此语句。
现在在您的Java文件(Class)中声明方法并将其与视图匹配,您将知道单击了哪个视图
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);
我猜你会选择第一个。
答案 1 :(得分:1)
使用OnItemClickListener时,返回的内容之一是被点击的项目的listView中的位置:
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();
}
});
在上面的示例中,“int position”表示单击的项目。将显示一个Toast消息,其中包含所单击项目的索引。