Reputation: 241
I am validating the EditText value by clicking anywhere inside the window. But for some buttons, I want to do something different from the validation functionality. How can I get the id of the item from the layout action. Here my layout is ConstraintLayout. Tried the below code but it's not working.
window_layout.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_tech:
setButtonsVisibility();
break;
}
}
});
Please suggest a better way to implement that.
Upvotes: 0
Views: 203
Reputation: 1143
What you're doing right now is adding the listener to the parent view. You need to set the listener to the individual views.
You can add a listener
variable and add it to the different button views.
You can also iterate your constraint layout child views and setting the listener individually.
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);
}
Upvotes: 1