我的問題與this thread非常相似,但是它從未得到正確回答。 我有一個ImageAdapter設置,在ImageAdapter中訪問XML圖像數組
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在我的GridView中顯示來自XML的圖像。
不清楚你的問題是什麼 - 你的國家,只是說:「你不能」,但不要就此展開。你的代碼的行爲是什麼 - 是拋出錯誤 - 它工作,但沒有給你預期的輸出? – David
對不起,一旦加載應用程序崩潰,並有一個錯誤消息「引起:java.lang.NullPointerException:嘗試調用虛擬方法」android.content.res.Resources android.content.Context.getResources ()對空對象引用「,我的問題是,我如何使我的GridView的ImageAdapter顯示來自XML文件的圖像? @ henners66 – Stafford