Как я могу получить доступ к ImageView внутри AlertDialog.Builder?

1

У меня есть код, который создает всплывающее окно и назначает ему XML-макет, в котором есть два элемента ImageView.

popupWindow.setTitle("New note");
popupWindow.setMessage("choose the type of note to create");

View noteChoices = inflater.inflate(R.layout.addnotepopup, null);
popupWindow.setView(noteChoices);

popupWindow.setPositiveButton(null, null);

popupWindow.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        //
    }
});

popupWindow.show();

addnotepopup.xml имеет два элемента ImageView

Как я могу добавить прослушиватели кликов к этим двум элементам? Когда я пытаюсь сделать это так же, как любая другая кнопка, findViewById() возвращает нулевое значение

XML-код

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:weightSum="2" >

    <ImageView
        android:id="@+id/recordnoteoption"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingBottom="10dp" 
        android:src="@drawable/medium_mic"
        android:layout_weight="1" />

        <ImageView
            android:id="@+id/typenoteoption"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:paddingBottom="10dp" 
            android:src="@drawable/medium_keyboard"
            android:layout_weight="1" />

</LinearLayout>
  • 0
    R.layout.addnotepopup поместите XML-макет для R.layout.addnotepopup ? Также поместите код, который вы используете для findViewById ?
Теги:
alertdialog

1 ответ

1
Лучший ответ

Попробуй это:

 popupWindow.findViewById(R.id.yourId);

или если вы хотите:

  noteChoices.findViewById(R.id.yourId);
  • 0
    использование noteChoices сработало, я пытался использовать popupWindow.findViewById () раньше, но он не работал ... спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню