gpt4 book ai didi

Android 这个(上下文)给出 NullPointerException

转载 作者:行者123 更新时间:2023-11-29 18:17:54 25 4
gpt4 key购买 nike

通过在 GridView 上设置适配器来做一个简单的练习:

        GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));

ImageAdapter是另一个类,如下:

public class ImageAdapter extends BaseAdapter {

// ---the images to display---
public Integer[] imageIDs = { R.drawable.one, R.drawable.two,
R.drawable.three, R.drawable.four, R.drawable.five,
R.drawable.six };

private Context context;

public ImageAdapter(Context c) {
context = c;
}

// ---returns the number of images---
public int getCount() {
return imageIDs.length;
}

// ---returns the ID of an item---
public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

// ---returns an ImageView view---
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(185, 200));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(5, 20, 5, 5);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imageIDs[position]);
return imageView;
}

当我调试代码时,应用程序在 gridview.setAdapter 行崩溃,并在 this 上报告 java.lang.NullPointerException。有什么办法可以克服这个问题吗?

最佳答案

我认为您的问题不是 this 为 null 的事实,这没有意义,而是 gridView 为 null。

通常是因为:

  1. 您没有在 findViewById 之前调用 setContentView()
  2. findViewById 使用错误的 ID 调用。

关于Android 这个(上下文)给出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7180728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com