gpt4 book ai didi

android - 无法使用 fragment 在Gridview中显示图像

转载 作者:行者123 更新时间:2023-11-30 01:38:36 24 4
gpt4 key购买 nike

我是 Android 的新手,目前想创建一个 fragment 来显示 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)

下面是我的 fragment 代码

公共(public)类 HomeFragment 扩展 fragment {

public HomeFragment(){}
private GridViewAdapter adapter;
private GridView gridView;
private int columnWidth;
private Utils utils;
private PrefManager pref;
private Integer[] photosList;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {


View rootView = inflater.inflate(R.layout.fragment_home, container, false);
gridView = (GridView) rootView.findViewById(R.id.grid_view);
gridView.setVisibility(View.VISIBLE);
gridView.setAdapter(new GridViewAdapter(getActivity()));
return rootView;
}

下面是我的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);

最佳答案

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

imageView = new ImageView(_activity);

关于android - 无法使用 fragment 在Gridview中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34805214/

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