我有一个ListView
与BaseAdapter
它的项目LinearLayout
。里面LinearLayout
,有一个TextView
和一个RadioGroup
。
我OnItemClickListener
为列表视图写了一个。但是,当我点击里面的项目时ListView
。没有任何反应!
我想知道如何找出被点击的视图。有没有类似的方法Log.setShowClickingView(true)
?
我有一个ListView
与BaseAdapter
它的项目LinearLayout
。里面LinearLayout
,有一个TextView
和一个RadioGroup
。
我OnItemClickListener
为列表视图写了一个。但是,当我点击里面的项目时ListView
。没有任何反应!
我想知道如何找出被点击的视图。有没有类似的方法Log.setShowClickingView(true)
?
首先,您需要在您的 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);
我猜你会更喜欢第一个。
使用 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 消息,其中包含所单击项目的索引。