#android #android-layout #android-button #android-event
Вопрос:
Я проверяю значение EditText, щелкнув в любом месте окна. Но для некоторых кнопок я хочу сделать что-то отличное от функциональности проверки. Как я могу получить идентификатор элемента из действия компоновки. Здесь мой макет-это ConstraintLayout. Попробовал приведенный ниже код, но он не работает.
window_layout.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_tech:
setButtonsVisibility();
break;
}
}
});
Пожалуйста, предложите лучший способ реализовать это.
Ответ №1:
То, что вы делаете прямо сейчас, — это добавляете слушателя в родительское представление. Вам нужно настроить прослушиватель на отдельные представления.
Вы можете добавить 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);
}