Я не могу на всю жизнь выяснить, почему я получаю исключение NullPointerException.Android Custom Dialog NullPointerException
Когда пользователь нажимает на конкретное изображение, диалоговое окно должно всплывающее и отобразить большую версию указанного изображения:
private OnClickListener coverListener = new OnClickListener()
{
public void onClick(View v)
{
showDialog(DIALOG_COVER);
}
};
DIALOG_COVER устанавливается в = 0.
ассоциированный onCreateDialog выглядит следующим образом:
protected Dialog onCreateDialog(int id) {
Dialog dialog;
switch(id)
{
case DIALOG_COVER:
dialog = new Dialog(mContext);
dialog.setContentView(R.layout.cover_dialog);
dialog.setTitle(book.getTitle());
ImageView coverLarge = (ImageView)findViewById(R.id.coverLarge);
coverLarge.setImageBitmap(book.getCover());
break;
default:
dialog = null;
}
return dialog;
}
Для справки, это cover_dialog.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/coverDialog"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp">
<ImageView android:id="@+id/coverLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitStart"
/></LinearLayout>
Теперь, когда изображение было описано ранее нажата, программа немедленно завершает работу и выдает следующее сообщение об ошибке через LogCat:
06-08 13:29:17.727: ERROR/AndroidRuntime(2220): Uncaught handler: thread main exiting due to uncaught exception
06-08 13:29:17.757: ERROR/AndroidRuntime(2220): java.lang.NullPointerException
06-08 13:29:17.757: ERROR/AndroidRuntime(2220): at org.kylehughes.android.brarian.AndroidBrarian.onCreateDialog(AndroidBrarian.java:259)
линия в вопросе относится к этой линии внутри от onCreateDialog:
coverLarge.setImageBitmap(book.getCover());
В принципе, я не понимаю, почему coverLarge имеет значение null в этой точке. Любая помощь приветствуется.
В основном я ищу ссылку R.id.coverLarge в диалоговом окне, пока вы ищете ее в виде Activity. –
Вы, сэр, только что спасли мне еще много часов разочарования. Большое спасибо. –