Проблема с CheckBox в Диалоговом окне

193
18 ноября 2018, 11:10

Я хочу сделать кастомное диалоговое окно, и вроде всё хорошо, но метод findViewById на CheckBox не работает. Не знаю в чём проблема и соответственно, как её решить.

Вот код:

final AlertDialog dialog1 = new AlertDialog.Builder(ScreensActivity.this).create();
View inflate = getLayoutInflater().inflate(R.layout.custom,null); dialog1.setView(inflate);
Button back = (Button)inflate.findViewById(R.id.back);  
Button ok = (Button)inflate.findViewById(R.id.ok);   
CheckBox ch1 = (CheckBox)inflate.findViewByld(R.id.checkbox1);   
CheckBox ch2 = (CheckBox)inflate.findViewByld(R.id.checkbox2);   
CheckBox ch3 = (CheckBox)inflate.findViewByld(R.id.checkbox3);
back.setOnClickListener(new OnClickListener() { public void onClick(View view) { _back(); } });    
ok.setOnClickListener(new OnClickListener() { public void onClick(View view) {       
    checkbox1 = ch1.isSelected();   
    checkbox2 = ch2.isSelected();   
    checkbox3 = ch3.isSelected();   
} });
dialog1.show();

Помогите пожалуйста!

Answer 1

Инфлейтите вьюху:

LayoutInflater inflater = LayoutInflater.from(ScreensActivity.this);
View view = inflater.inflate(R.layout.custom, null);

Создаете диалог:

AlertDialog.Builder alertDialog = new AlertDialog.Builder(ScreensActivity.this);
alertDialog.setView(view);
AlertDialog alert = alertDialog.create();

Получаете ссылки на вью элементы:

Button back = view.findViewById(R.id.back);  
Button ok = view.findViewById(R.id.ok);   
CheckBox ch1 = view.findViewByld(R.id.checkbox1);   
CheckBox ch2 = view.findViewByld(R.id.checkbox2);   
CheckBox ch3 = view.findViewByld(R.id.checkbox3);

И отображаете диалоговое окно:

alert.show();
READ ALSO
Обращение к приватному методу извне

Обращение к приватному методу извне

Есть задача, в которой нужно поэкспериментировать с объектами типа CatМы создали 5 кошек и делаем с ними разные вещи

197
Открыть layout поверх

Открыть layout поверх

Подскажите, как можно открыть лейаут нажатием на кнопкуМне не нужно открывать новый класс:

198
Легкий вопрос по логарифмам

Легкий вопрос по логарифмам

В школе мы еще не проходили логарифмы, а при изучении класса Math у меня возникли трудностиПрочитал про них в интернете, понял что логарифм...

168
Выполнния метода, при нажатии кнопки и выделения поля ввода

Выполнния метода, при нажатии кнопки и выделения поля ввода

Необходимо, что бы при выделении JTextField и нажатии кнопки(Enter, например), вызывался метод

209