如何知道在相对布局中单击了哪个子视图
Posted
技术标签:
【中文标题】如何知道在相对布局中单击了哪个子视图【英文标题】:How to know which child view is clicked in a relativelayout 【发布时间】:2016-06-08 10:25:29 【问题描述】:我有一个动态添加和删除子视图的相对布局(可以添加或删除任何数量)
我的问题是如何知道点击了哪个视图,以便我可以根据子视图的类型添加不同的 onclicklisteners
【问题讨论】:
同时添加和删除设置的唯一 ID 或标签,并设置通用的 onclick 侦听器(实现最佳方法的活动)。在 Onclick 检查 id 或标签。 @sush 但是有很多视图为每个设置唯一的 id 是很困难的权利 是的.. 但是没有其他方法可以识别点击了哪个方式的视图。 【参考方案1】:在点击事件时添加和检索标签会有所帮助。这是代码。
添加标签:
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
【讨论】:
【参考方案2】:在您的适配器类中,您需要像这样编写共享示例代码 sn-p
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
);
如果您需要更清晰的信息,请告诉我。
【讨论】:
以上是关于如何知道在相对布局中单击了哪个子视图的主要内容,如果未能解决你的问题,请参考以下文章