Чтобы удовлетворить ваши требования к пользовательскому интерфейсу, вам необходимо настроить пользовательский вид для вашего диалога. Ключевым моментом здесь является использование следующего:
mBuilder.setView(mView);
Если вы не используете привязку представления / данных, при ссылке на представления обязательно используйте mView.findViewById
, а не findViewById
, как показано ниже:
EditText editText = mView.findViewById(R.id.edit_text);
// Add your code logic, etc.
Что касается dialog_adding_data.xml
, который вы создали, он будет похож на любой другой макет. Его иерархия, в зависимости от ваших конкретных потребностей, может выглядеть примерно так:
<ScrollView>
<LinearLayout>
<CheckBox />
<CheckBox />
<!-- This one controls the EditText below. -->
<CheckBox android:text="Add custom options" />
<EditText />
</LinearLayout>
</ScrollView>
Если количество флажков - динамическое c, тогда вам может потребоваться использовать RecyclerView
с двумя типами представления ( один для обычного варианта, а другой для пользовательских параметров).