В моем приложении у меня есть ListActivity и собственный макет для него. В пользовательском макете у меня есть ImageView и TextView.
Я хочу иметь возможность изменять ресурс ImageView на основе некоторого условного кода в моем приложении. Однако, когда я пытаюсь image.setImageResource(resource);
, я получаю исключение javaNullPointerException. Я попытался разместить фрагмент кода в разных местах, например, после адаптера. У кого-нибудь есть какие-либо идеи? Заранее спасибо.
Кроме того, я объявил вид изображения перед тем, как обратиться к нему с помощью ImageView image = (ImageView) findViewById(R.id.image);
EDIT:
В моей деятельности:
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, DlistArray));
// Here I want to change the image
ImageView celebIcon = (ImageView) findViewById(R.id.icon);
celebIcon.setImageResource(R.drawable.phil);
ListView celebList = getListView();
registerForContextMenu(getListView());
celebList.setTextFilterEnabled(true);
В моем макете:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/icon"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginLeft="10dp"
android:padding="10dp"
android:src="@drawable/alan" />
<TextView
android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_gravity="center_vertical"
android:text="@+id/label"
android:textColor="#ffffff"
android:textSize="20dp" />
</LinearLayout>