Android setImageResource NullPointerException - PullRequest
1 голос
/ 04 июля 2011

У меня есть следующий код:

 public class PainLogger extends Activity implements OnClickListener, OnItemClickListener{
     ImageView image;
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
         image = (ImageView)findViewById(R.id.imageView1);
         image.setImageResource(R.drawable.acetaminophen); //**Null Pointer Here**
         ....
     }
 }

Вот изображение в файле items.xml. (Я думаю, именно поэтому он нулевой - вместо того, чтобы находиться в файле main.xml, imageView находится в моем файле items.xml, хотя он отображается в R.id и R.drawable)

    <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" 
     android:src="@drawable/icon" android:id="@+id/imageView1"></ImageView>

1 Ответ

2 голосов
/ 04 июля 2011

Вы действительно получаете исключение NullPointerException, потому что этот виджет не существует в вашем файле main.xml. R. * перечисляет все ресурсы в вашем приложении, поэтому вы видите в нем R.id.imageView1.

Вам следует либо скопировать содержимое файла items.xml в файл main.xml, либо использовать для включения items.xml или main.xml, либо просто изменить логику кода.

Если вы пытаетесь получить доступ к элементам в списке, вы должны использовать ListView в main.xml и использовать адаптер. Вы найдете хороший учебник об этом здесь: http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

...