java - 下一张图片在 'ImageSwitcher' 中滑动时未显示

标签 java android android-imageview touch-event swipe-gesture

我对 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);
            }
        });
    }
}

最佳答案

当我运行你的代码时,我得到了 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 次后,我可以查看图像。正如您所问的那样,您无法查看图像,所以问题是缩略图不存在。正如在我的日志中,对于每个不可查看的缩略图,我都会收到此错误

I/System.out:resolveUri 在错误的位图 uri 上失败:content://media/external/images/thumbnails/11

希望这可能有所帮助。

ps:WAITING toast 完成,然后再滑动以清除。

关于java - 下一张图片在 'ImageSwitcher' 中滑动时未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45879314/

相关文章:

java - 如何使用 ScheduledExecutorService 重新安排任务?

java - 如何将 OrmLite 与 Android 的默认 SQLite 一起使用

java - Android Java识别 "this."或子类在父函数中调用

android如何将pdf转换为图像并在imageview中加载

android - 如何调整背景图像大小以适应Android中的应用程序屏幕尺寸

android - 如何连续旋转图像?

java - 从点列表中查找最短路径

java - 为什么 new String ("a") == new String ("a") 给出 false 并且 "a"= ="a"给出 true。为什么在后面的案例中它们似乎都被视为同一实例?

android - 为什么 android 中的 VideoView 从 http 链接加载和播放视频需要花费太多时间?

android - android 是否有 *native* 支持 SVG 图像作为可绘制资源(图标)?