0

我有一个ListViewBaseAdapter它的项目LinearLayout。里面LinearLayout,有一个TextView和一个RadioGroup

OnItemClickListener为列表视图写了一个。但是,当我点击里面的项目时ListView。没有任何反应!

我想知道如何找出被点击的视图。有没有类似的方法Log.setShowClickingView(true)

4

2 回答 2

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);

我猜你会更喜欢第一个。

于 2013-06-22T10:46:25.153 回答
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 消息,其中包含所单击项目的索引。

于 2013-06-22T10:44:14.763 回答