Мой вопрос очень похож на this thread, однако на него никогда не отвечали должным образом. У меня есть настройка ImageAdapter как таковая;Доступ к массиву XML-изображений в пределах ImageAdapter
public class ImageAdapter extends BaseAdapter {
private Context mContext;
int[] mImages;
public ImageAdapter(Context c, int[] images) {
mContext = c;
mImages = images;
}
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(200, 200));
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mImages[position]);
return imageView;
}
}
И я хочу, чтобы изображения были из XML;
<integer-array name="images">
<item>@drawable/image1</item>
<item>@drawable/image2</item>
<item>@drawable/image3</item>
</integer-array>
В моем классе MainActivity я пытался получить массив изображения и передать его в ImageAdapter, но я не могу;
public class MainActivity extends AppCompatActivity {
private int images[] = getResources().getIntArray(R.array.images);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridview = (GridView) findViewById(R.id.gridView);
gridview.setAdapter(new ImageAdapter(MainActivity.this, images));
}
}
Сейчас я получаю сообщение об ошибке:
Вызванный: java.lang.NullPointerException: попытка вызвать виртуальный метод «android.content.res.Resources android.content.Context.getResources() 'на нулевой ссылке объекта
с моим приложением, сбой при загрузке. Я хочу, чтобы мой ImageAdapter отображал изображения из XML в моем GridView.
мутноватый, что ваш вопрос - Вы утверждаете, что просто «вы не можете», но не растягиваются на этом. Каково поведение вашего кода - это бросание ошибок - работает ли оно, но не дает вам ожидаемого результата? – David
Извините, как только загрузится приложение, оно вылетает, и появляется сообщение об ошибке «Caused by: java.lang.NullPointerException: попытка вызвать виртуальный метод» android.content.res.Resources android.content.Context.getResources() 'в ссылке нулевого объекта ", Мой вопрос: как мне сделать ImageAdapter для моих графических изображений GridView из XML-файла? @ henners66 – Stafford