如何获取从 android 中的布局操作中单击的项目的 ID?
How to get id of the item clicked from layout action in android?
我正在通过单击 window 内的任意位置来验证 EditText 值。但是对于某些按钮,我想做一些不同于验证功能的事情。如何从布局操作中获取项目的 ID。这里我的布局是ConstraintLayout。尝试了以下代码,但它不起作用。
window_layout.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_tech:
setButtonsVisibility();
break;
}
}
});
请提出更好的实施方法。
您现在正在做的是将侦听器添加到父视图。您需要将侦听器设置为各个视图。
您可以添加一个 listener
变量并将其添加到不同的按钮视图。
您还可以迭代约束布局子视图并单独设置侦听器。
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_tech:
setButtonsVisibility();
break;
}
}
}
for(int i = 0; i <= windowLay.getChildCount(); i++) {
rec.getChildAt(i).setOnClickListener(listener);
}
我正在通过单击 window 内的任意位置来验证 EditText 值。但是对于某些按钮,我想做一些不同于验证功能的事情。如何从布局操作中获取项目的 ID。这里我的布局是ConstraintLayout。尝试了以下代码,但它不起作用。
window_layout.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_tech:
setButtonsVisibility();
break;
}
}
});
请提出更好的实施方法。
您现在正在做的是将侦听器添加到父视图。您需要将侦听器设置为各个视图。
您可以添加一个 listener
变量并将其添加到不同的按钮视图。
您还可以迭代约束布局子视图并单独设置侦听器。
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_tech:
setButtonsVisibility();
break;
}
}
}
for(int i = 0; i <= windowLay.getChildCount(); i++) {
rec.getChildAt(i).setOnClickListener(listener);
}