Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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 如何知道在relativelayout中单击了哪个子视图_Android_View_Android Relativelayout - Fatal编程技术网

Android 如何知道在relativelayout中单击了哪个子视图

Android 如何知道在relativelayout中单击了哪个子视图,android,view,android-relativelayout,Android,View,Android Relativelayout,我有一个相对布局,动态添加和删除子视图(可以添加或删除任意数量) 我的问题是如何知道单击了哪个视图,以便根据子视图的类型添加不同的onClickListener在单击事件时添加和检索标记会有所帮助。这是代码 要添加标记,请执行以下操作: customView1.setTag(someTag); customView1.setOnClickListener(myClickListner); 对于检索: OnClickListener myClickListener = new onClick

我有一个相对布局,动态添加和删除子视图(可以添加或删除任意数量)


我的问题是如何知道单击了哪个视图,以便根据子视图的类型添加不同的onClickListener

在单击事件时添加和检索标记会有所帮助。这是代码

要添加标记,请执行以下操作:

 customView1.setTag(someTag);
 customView1.setOnClickListener(myClickListner);
对于检索:

OnClickListener myClickListener = new onClickListener(){
@Override
public void onClick(View v) {

    if(v.getTag() == someTag){
         //do stuff
    }else if(v.getTag() == otherTag){
         //do something else
    }
}

单击事件时添加和检索标记会有所帮助。这是代码

要添加标记,请执行以下操作:

 customView1.setTag(someTag);
 customView1.setOnClickListener(myClickListner);
对于检索:

OnClickListener myClickListener = new onClickListener(){
@Override
public void onClick(View v) {

    if(v.getTag() == someTag){
         //do stuff
    }else if(v.getTag() == otherTag){
         //do something else
    }
}

在您的适配器类中,您需要这样编写,因为我正在共享示例代码段

public static class ChatListItemsViewHolder extends
            RecyclerView.ViewHolder {


        public ChatListItemsViewHolder(View v) {
            super(v);
            // TODO Auto-generated constructor stub

            v.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                // write your code here

                }
            });

        }

如果您需要更清晰的说明,请告诉我。

在适配器类中,您需要这样编写,我正在共享示例代码片段

public static class ChatListItemsViewHolder extends
            RecyclerView.ViewHolder {


        public ChatListItemsViewHolder(View v) {
            super(v);
            // TODO Auto-generated constructor stub

            v.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                // write your code here

                }
            });

        }

如果您需要更清晰的信息,请告诉我。

在添加和删除时,请设置唯一ID或标记,并设置公共onclick侦听器(实现最佳方法的活动)。在Onclick中,检查id或标记。@sush但是有很多视图,为每个视图设置唯一的id是很困难的。。但没有其他方法可以识别视图单击的方式。在添加和删除时,请设置唯一ID或标记,并设置公共onclick侦听器(实现最佳方法的活动)。在Onclick中,检查id或标记。@sush但是有很多视图,为每个视图设置唯一的id是很困难的。。但没有其他方法可以确定视图单击的方式。