Отображение диалоговых окон с четырьмя кнопками

#android #android-layout #android-widget

#Android #android-макет #android-виджет

Вопрос:

привет! я использую dialog im по своему усмотрению. я хочу, чтобы в этом диалоговом окне было четыре кнопки. я добавил три кнопки, одна из которых
MyDialog.setPositiveButton(«Удалить», новый диалоговый интерфейс.OnClickListener() 2-й — это
MyDialog.setNegativeButton(«Отмена», новый диалоговый интерфейс.OnClickListener() и 3-й — это MyDialog.setNeutralButton(«Добавить», новый диалоговый интерфейс.OnClickListener() но я не могу добавить 4-й, так как я попробовал еще один setPositiveButton, но он показывает только один.как я могу добавить 4-й, пожалуйста, дайте мне подсказку.

Спасибо.

Ответ №1:

Если вы просто хотите использовать обычный диалог, что-то вроде этого должно сработать

 Dialog settingsDialog = new Dialog(this); 
settingsDialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); 
settingsDialog.setContentView(getLayoutInflater().inflate(R.layout.button_layout 
        , null)); 
settingsDialog.show(); 
  

button_layout.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" android:layout_height="wrap_content" 
    android:orientation="vertical"> 
    <Button android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:text="OK" android:onClick="dismissListener"/>
    <Button android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:text="OK" android:onClick="dismissListener"/>
    <Button android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:text="OK" android:onClick="dismissListener"/> 
    <Button android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:text="OK" android:onClick="dismissListener"/> 
</LinearLayout> 
  

Вы можете создать макет в соответствии с вашими требованиями.

Комментарии:

1. @blessenm как я могу добавить прослушиватель кликов к кнопкам?

2. @sanghati-мукерджи Я думаю, что создание метода ‘dismissListener’ в activity должно сработать. Или метод getLayoutInflater().inflate() возвращает представление. Введите его в ViewGroup, а затем используйте findViewById или любой дочерний метод выбора для доступа к кнопке. Как только вы получите объект button, вы можете использовать setOnClickListener.

Ответ №2:

Вы не можете. В этом случае вы должны создать пользовательский вид для вашего Dialog и поместить четыре кнопки внизу этого вида (вверху вы помещаете TextView сообщение).