【发布时间】:2018-02-05 11:15:51
【问题描述】:
我正在制作 GridView 小部件,它加载从 ArrayList 拍摄的图像,其中有 40 张。这些对象从内存加载到 gridView 非常好,但是当我向下滚动小部件时,getViewAt 方法想要加载更多对象,这让我进入 OutOfBounds Exception。但是我的方法包含 if 语句,在这种情况下应该返回 null 值,但可能有一些错误,这是我的 GetViewAt 方法:
@Override
public RemoteViews getViewAt(int position) {
if (position == AdapterView.INVALID_POSITION ||
cursor == null || !cursor.moveToPosition(position)) {
return null;
}
RemoteViews views = new RemoteViews(ctx.getPackageName(), R.layout.widget_item);
Bitmap img = resizeBitmapFitXY(250, 150, photos.get(position));
views.setImageViewBitmap(R.id.imageView, img);
return views;
}
【问题讨论】:
-
你能分享你的logcat吗,或者
cursor或photos列表中的OutOfBounds Exception在哪里? -
就在这一行:Bitmap img = resizeBitmapFitXY(250, 150, photos.get(position));
-
我猜你的问题在这里
photos.get(position)看看答案,如果这对你有帮助,请告诉我
标签: java android arrays gridview