Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:有没有办法找出点击的是哪个视图_Android_Android Listview - Fatal编程技术网

Android 安卓:有没有办法找出点击的是哪个视图

Android 安卓:有没有办法找出点击的是哪个视图,android,android-listview,Android,Android Listview,我有一个带有BaseAdapter的ListView,它的项目是LinearLayout。在LinearLayout内部,有一个TextView和一个RadioGroup 我为listview编写了一个监听器。但是,当我单击ListView中的项目时。没有回应 我想知道我怎样才能知道单击了哪个视图。是否有类似于Log.setShowClickingView(true)?的方法使用OnItemClickListener时,返回的内容之一是单击的项目在listView中的位置: listView1.

我有一个带有
BaseAdapter
ListView
,它的项目是
LinearLayout
。在
LinearLayout
内部,有一个
TextView
和一个
RadioGroup

我为listview编写了一个
监听器
。但是,当我单击
ListView
中的项目时。没有回应


我想知道我怎样才能知道单击了哪个视图。是否有类似于
Log.setShowClickingView(true)

的方法使用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();

        }
    });
listView1.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id){
Toast.makeText(getBaseContext(),“单击的项目:”+位置,Toast.LENGTH_LONG.show();
}
});

在上面的示例中,“int position”表示单击的项。将显示一条toast消息,其中包含所单击项目的索引。

使用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();

        }
    });
listView1.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id){
Toast.makeText(getBaseContext(),“单击的项目:”+位置,Toast.LENGTH_LONG.show();
}
});

在上面的示例中,“int position”表示单击的项。将显示一条toast消息,其中包含所单击项目的索引。

首先,您需要在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);


我想您会更喜欢第一个事件。

首先,您需要在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);


我想您会喜欢第一个。

请将您的代码张贴在这里,以便我们可以帮助您。请参阅。它将引导您朝着正确的方向前进。请在这里发布您的代码,以便我们可以帮助您。请参阅。它会指引你走向正确的方向……事实上,我已经写了这个。我没有编写Toast.makeText,而是编写了Log.d(“单击”、“列表视图单击”);但LogCat什么也没发生。无论如何,谢谢你的回答。:)事实上,我已经写了这个。我没有编写Toast.makeText,而是编写了Log.d(“单击”、“列表视图单击”);但LogCat什么也没发生。无论如何,谢谢你的回答。:)非常感谢你,这可能有用D下一个问题是,现在,我需要将onclick添加到xml文件中的每个视图中:(是的。只有在需要onClick事件的情况下,我才发现了该错误。我是通过在每个视图中使用toast.makeText的SetonClick Listener发现该错误的。真正的问题是我不知道哪个视图负责单击。再次感谢您:D@user2511393对不起,我不能完全理解你说的话。你是在问你还是不明白知道单击了哪个视图吗?这就是您要问的吗?是的,是的。这就是我要问的。非常感谢,这可能会起作用。:D下一个问题是,我现在需要向xml文件中的每个视图添加onclick:(是的。只有在需要onClick事件的情况下,我才发现了该错误。我是通过在每个视图中使用toast.makeText的SetonClick Listener发现该错误的。真正的问题是我不知道哪个视图负责单击。再次感谢您:D@user2511393对不起,我不能完全理解你说的话。你是在问你还是不明白你知道点击了哪个视图吗?这就是你要问的吗?是的,是的。这就是我要的。