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是很困难的。。但没有其他方法可以确定视图单击的方式。