#android #imageview #android-edittext
#Android #imageview #android-edittext
Вопрос:
В моем приложении я создаю диалоговое окно, например:
dialogview = inflater.inflate(R.layout.registration_dialog, null);
dialog = new AlertDialog.Builder(this);
dialog.setView(dialogview);
А затем, присвоив несколько представлений переменным:
username = (EditText)dialogview.findViewById(R.id.username);
password = (EditText)dialogview.findViewById(R.id.password);
confirm = (EditText)dialogview.findViewById(R.id.confirm);
rememberme = (CheckBox)dialogview.findViewById(R.id.rememberme);
autologin = (CheckBox)dialogview.findViewById(R.id.autologin);
Все переменные определены соответствующим образом перед моим onCreate:
private EditText username;
private EditText password;
private CheckBox rememberme;
private CheckBox autologin;
private EditText confirm;
Однако, когда я пытаюсь создать диалоговое окно, приложение выходит из строя. Я проверил отладчик eclipse, который сообщает об ошибке:
java.lang.ClassCastException: android.widget.ImageView
в строке
confirm = (EditText)dialogview.findViewById(R.id.confirm);
Определение XML для поля подтверждения выглядит следующим образом:
<EditText android:id="@ id/confirm"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="textPassword">
</EditText>
Я в замешательстве — в моем dialoglayout нет даже ImageViews. Это какой-то странный сбой? Есть идеи?
Ответ №1:
The R.java файл необходимо обновить. Попробуйте очистить свой проект и снова скомпилировать.
Комментарии:
1. Ого, спасибо! Я не ожидал, что это будет так просто — тем более, что ImageView никогда не было, я бы не догадался, что ему просто нужно обновить. Я отмечу это как принятое после истечения 5-минутного ограничения.