Java 在';图像切换器';
我对安卓系统的开发非常陌生,我一直在尝试创建一个图像库应用程序。一切正常,但当我滑动以显示下一个或上一个图像时,没有显示任何内容。我该如何解决这个问题Java 在';图像切换器';,java,android,android-imageview,touch-event,swipe-gesture,Java,Android,Android Imageview,Touch Event,Swipe Gesture,我对安卓系统的开发非常陌生,我一直在尝试创建一个图像库应用程序。一切正常,但当我滑动以显示下一个或上一个图像时,没有显示任何内容。我该如何解决这个问题 public class PhotosActivity extends AppCompatActivity { int int_position; private GridView gridView; GridViewAdapter adapter; @Override protected void on
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);
}
});
}
}
公共类PhotosActivity扩展了AppCompatActivity{
int_位置;
私有GridView GridView;
GridViewAdapter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u image\u gallery);
gridView=(gridView)findViewById(R.id.gv_文件夹);
int_position=getIntent().getIntExtra(“值”,0);
adapter=新的GridViewAdapter(此,al_图像,int_位置);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
字符串abc=“file://”+al_images.get(int_position.getAl_imagespath().get(position);
Intent i=新的Intent(getApplicationContext(),FullImageActivity.class);
i、 putExtra(“id”,位置);
i、 putExtra(“abc”,abc);
星触觉(i);
}
});
}
}
当我运行您的代码时,我在其中获得了NullPointerExection。所以我用
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();
}
试试看{
Intent i=getIntent();
//所选图像id
position=i.getExtras().getInt(“id”);
Bundle extras=getIntent().getExtras();
字符串值=extras.getString(“abc”);
使用(FullImageActivity.this)滑动
.负载(值)
.listener(新的RequestListener(){
@凌驾
公共布尔onException(异常e、字符串模型、目标、布尔isFirstResource){
return false;//返回false以放置错误占位符很重要
}
@凌驾
公共布尔值onResourceReady(GlideDrawable资源、字符串模型、目标、布尔值isFromMemoryCache、布尔值isFirstResource){
返回false;
}
})
.进入(图像);
}捕获(NullPointerException n){
n、 printStackTrace();
}
在5次或6次扫描后,我可以查看图像。正如您所问的,您无法查看图像,因此问题是缩略图不存在。在我的日志中,对于每个不可查看的缩略图,我都会遇到此错误
I/System.out:resolveUri在错误的位图uri上失败:content://media/external/images/thumbnails/11
希望这能有所帮助
ps:等待toast完成,然后再进行下一次刷卡以获得许可。当我运行您的代码时,我在其中获得了NullPointerExection。所以我用
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();
}
试试看{
Intent i=getIntent();
//所选图像id
position=i.getExtras().getInt(“id”);
Bundle extras=getIntent().getExtras();
字符串值=extras.getString(“abc”);
使用(FullImageActivity.this)滑动
.负载(值)
.listener(新的RequestListener(){
@凌驾
公共布尔onException(异常e、字符串模型、目标、布尔isFirstResource){
return false;//返回false以放置错误占位符很重要
}
@凌驾
公共布尔值onResourceReady(GlideDrawable资源、字符串模型、目标、布尔值isFromMemoryCache、布尔值isFirstResource){
返回false;
}
})
.进入(图像);
}捕获(NullPointerException n){
n、 printStackTrace();
}
在5次或6次扫描后,我可以查看图像。正如您所问的,您无法查看图像,因此问题是缩略图不存在。在我的日志中,对于每个不可查看的缩略图,我都会遇到此错误
I/System.out:resolveUri在错误的位图uri上失败:content://media/external/images/thumbnails/11
希望这能有所帮助
ps:等待toast完成,然后再进行下一次刷卡以获得许可。即使刷卡10次,我仍然无法查看图像,我根据您的回答更新了我的代码,而且之前也没有任何异常,还有其他java文件,我没有包括在这个问题中,因为不适合我的代码也在这个活动中,但我现在又包括了一个java文件,并更新了我的问题。此活动负责显示缩略图。如果您将此权限包括在清单文件中。。。。我把它和所有这些权限都包括进去了,当我运行这段代码时,我找不到问题,它运行得很好。另外,如果你想要更多的参考资料,你可以访问,我仍然无法查看图像,即使在刷了10次之后,我根据你的回答更新了我的代码,而且我以前没有收到任何异常,还有其他java文件,我没有包括在这个问题中,因为不适用于我的代码在这个活动中,不过,我现在又添加了一个java文件,并更新了我的问题。此活动负责显示缩略图。如果您将此权限包括在清单文件中。。。。我把它和所有这些权限都包括进去了,当我运行这段代码时,我找不到问题,它运行得很好。如果你想要更多的参考资料,你可以访问