我是Android开发的新手,我一直在尝试创建一个图库应用程序。一切正常,除非我在滑动显示下一张或上一张图像时,没有显示任何内容。我该如何解决这个问题?
public class PhotosActivity extends AppCompatActivity {
int int_position;
private GridView gridView;
GridViewAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_gallery);
gridView = (GridView)findViewById(R.id.gv_folder);
int_position = getIntent().getIntExtra("value", 0);
adapter = new GridViewAdapter(this, al_images,int_position);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String abc = "file://" + al_images.get(int_position).getAl_imagepath().get(position);
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
i.putExtra("id", position);
i.putExtra("abc",abc);
startActivity(i);
}
});
}
}
答案 0 :(得分:0)
当我运行你的代码时,我得到了Nullpointerexeption。所以我用了
try {
Intent i = getIntent();
// Selected image id
position = i.getExtras().getInt("id");
Bundle extras = getIntent().getExtras();
String value = extras.getString("abc");
Glide.with(FullImageActivity.this)
.load(value)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
return false; // important to return false so the error placeholder can be placed
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
})
.into(images);
} catch (NullPointerException n) {
n.printStackTrace();
}
在5或6次滑动后,我能够查看Images.As你问的是你无法查看图像,所以问题是缩略图不存在。在我的日志中为每个不可见的缩略图我得到这个错误
I/System.out: resolveUri failed on bad bitmap uri: content://media/external/images/thumbnails/11
ps:等待吐司完成,然后再刷一下。