简体   繁体   English

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

[英]How to know which child view is clicked in a relativelayout

I have a relative layout to which child views are added and removed dynamically(any number can be added or removed) 我有一个相对布局,动态添加和删除子视图(可以添加或删除任何数字)

My question is how to know which view was clicked so that i can add different onclicklisteners depending on the type of child views 我的问题是如何知道点击了哪个视图,以便我可以根据子视图的类型添加不同的onclicklisteners

Adding and retrieving the tag while click event can help. 在单击事件时添加和检索标记可以提供帮助。 Here is the code. 这是代码。

For adding tags: 添加标签:

 customView1.setTag(someTag);
 customView1.setOnClickListener(myClickListner);

For retrieiving: 用于检索:

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

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

in your adapter class you need to write like this am sharing the sample code snippet 在您的适配器类中,您需要像这样编写共享示例代码段

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

                }
            });

        }

let me know if you need more clarity. 如果您需要更清晰,请告诉我。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM