У меня есть список видео, записанных пользователем в моем приложении. Когда пользователь долго щелкает по имени видео в ListView, появляется диалоговое окно, чтобы предоставить пользователю следующие параметры: «Воспроизвести», «Переименовать», «Удалить». Воспроизведение вызывает выбор видеопроигрывателя для воспроизведения видео. Работает так, как должно. Удалить вызывает другое диалоговое окно для подтверждения того, что пользователь хочет удалить видео. Также работает так, как должно. При щелчке по переименованию предполагается, что другой пользовательский интерфейс AlertDialog содержит EditText, чтобы пользователь мог переименовать видео.AlertDialog.Builder: setView; пользовательский вид не отображается
Вот XML для настраиваемого представления, установленного для переименования AlertDialog:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flRename"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/etRename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_rename" />
</FrameLayout>
В OnCreate, I настройки пользовательского вида и AlertDialog:
vRename = getLayoutInflater().inflate(R.layout.rename, null);
etRename = (EditText)vRename.findViewById(R.id.etRename);
adRename = new AlertDialog.Builder(context)
.setIcon(R.drawable.ic_launcher)
.setMessage("Rename video:")
.setPositiveButton("Rename", dioclRename)
.setNegativeButton("Cancel", null)
.setTitle(getString(R.string.app_name))
.setView(vRename)
.create();
Когда AlertDialog показывает вверх, это имеет значок, заголовок, сообщение и кнопки, но не пользовательский вид.
в вашем xml id edittext is etRename, но в вашем коде указано R.id.etFilename. ты это проверил? – MilanNz
Не проблема, но хороший глаз. Определенно вызвало бы проблемы позже. У меня есть другое представление с помощью EditText, используя это имя, поэтому Eclipse не произнесла ошибку. –