Android 无法使用片段在Gridview中显示图像

Android 无法使用片段在Gridview中显示图像,android,gridview,fragment,Android,Gridview,Fragment,我是Android新手,目前想创建一个片段来显示gridview布局。但是我无法显示图像并返回以下错误: java.lang.NullPointerException at miui.util.AttributeResolver.i(SourceFile:35) at miui.util.AttributeResolver.resolveInt(SourceFile:145) at miui.util.AttributeResolver.isUsi

我是Android新手,目前想创建一个片段来显示gridview布局。但是我无法显示图像并返回以下错误:

      java.lang.NullPointerException
      at miui.util.AttributeResolver.i(SourceFile:35)
      at miui.util.AttributeResolver.resolveInt(SourceFile:145)
      at miui.util.AttributeResolver.isUsingMiuiTheme(SourceFile:179)
      at miui.os.Environment.isUsingMiui(SourceFile:99)
      at android.view.ViewConfigurationInjector.get(ViewConfigurationInjector.java:18)
      at android.view.ViewConfigurationHelper.get(ViewConfigurationHelper.java:10)
      at android.view.ViewConfiguration.get(ViewConfiguration.java:357)
      at android.view.View.<init>(View.java:3452)
      at android.widget.ImageView.<init>(ImageView.java:114)
      at info.androidhive.slidingmenu.GridViewAdapter.getView(GridViewAdapter.java:52)
      at android.widget.AbsListView.obtainView(AbsListView.java:2257)
}

下面是我的gridview适配器代码

public class GridViewAdapter extends BaseAdapter {

    private Activity _activity;
    private LayoutInflater inflater;
    private int imageWidth;
    private Context context;

    public GridViewAdapter(Activity activity) {
        this._activity=activity;

    }

    @Override
    public int getCount() {
        return this.photoList.length;
    }

    @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 (inflater == null)
            inflater = (LayoutInflater) _activity
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.grid_item_photo, null);
            imageView = new ImageView(context);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(8, 8, 8, 8);
        }
        else {
            imageView = (ImageView) convertView;
        }
        imageView.setImageResource(photoList[position]);
        return imageView;
    }

    public Integer[] photoList = {

            R.drawable.ic_whats_hot, R.drawable.ic_home,
            R.drawable.ic_launcher, R.drawable.ic_communities,
            R.drawable.ic_people, R.drawable.ic_whats_hot
    };
}
错误行显示我的行在从上下文获取图像时有问题,可以建议吗

imageView = new ImageView(context);

您的上下文对象为空。 因为你有你活动的背景。所以用这个

imageView = new ImageView(_activity);

因为是您的上下文返回为null,所以我们需要提供一个非null的参数。提供上下文的一些常见类是活动、应用程序、服务和视图。在第9行中,初始化活动对象\u Activity

因为这个对象有上下文,所以可以用它来代替“上下文”


您正在使用未初始化的上下文

请使用通过GridViewAdapter从HomeFragment解析的_活动

错误是您的“上下文”从未在GridViewAdapter中初始化


替换为
imageView=新的imageView(\u活动)

您是否正在动态创建imageview?或者您想在布局行52中使用imageview-imageview=new imageview(上下文);您的上下文对象为空。你能试一下吗_activity@playmaker420,我想创建一个简单的gridview布局,在两列中显示图像only@playmaker420非常感谢。它现在与_活动一起工作。想问一下为什么我们不能使用上下文?感谢@John Riggs对上下文的解释和知识共享。我现在对上下文有了更好的理解。
imageView = new ImageView(_activity);
imageView = new ImageView(_activity);