在自定义相机布局中在水平视图中设置图像

哈下

PS:这是之前提出的问题的更新。

我有一个自定义相机布局,我需要在单击图像时将图像设置为水平方向。我尝试为此使用 recyclerview。首先,单击的图像存储在名为result的位图中

然后,我将图像的路径存储在一个名为path的变量中path 变量通过 bundle 传递给 RecycleViewAdapter。

然后,使用 onBindViewHolder,我尝试在水平视图中显示图像。

        button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            camera.setCameraListener(new CameraListener() {
                @Override
                public void onPictureTaken(byte[] picture) {
                    super.onPictureTaken(picture);
                         Bitmap result = 
   BitmapFactory.decodeByteArray(picture, 0, picture.length);

                         ByteArrayOutputStream bytes = new ByteArrayOutputStream();
                         result.compress(Bitmap.CompressFormat.JPEG, 25, bytes);

                         String path = MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), result, "Title", null);
                    horizontalList.add(path);
                         recycleViewAdapter = new RecycleViewAdapter(horizontalList);
                         horizontal_rv.setAdapter(recycleViewAdapter);
                         recycleViewAdapter.notifyDataSetChanged();
                    mBundle = new Bundle();
                    CameraActivity.mBundle.putString("abc", path);
                    horizontalList.add(path);
                }
            });
            camera.captureImage();

        }
    });

然后传递给适配器类。

    public class RecycleViewAdapter extends RecyclerView.Adapter<RecycleViewAdapter.MyViewHolder> {
Uri uri;
String path;
private List<Bitmap> horizontalList;
public class MyViewHolder extends RecyclerView.ViewHolder {
    public ImageView image_result;

    public MyViewHolder(View view) {
        super(view);
        image_result = (ImageView) view.findViewById(R.id.image_result);

    }
}

public RecycleViewAdapter(ArrayList<Bitmap> horizontalList) {
    this.horizontalList = horizontalList;
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.recyclerview_item_row, parent, false);

    return new MyViewHolder(itemView);
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
     path= CameraActivity.mBundle.getString("abc");
    uri=Uri.parse(path);
    holder.image_result.setImageURI(uri);


    holder.image_result.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        }
    });
}


@Override
public int getItemCount() {
    return horizontalList.size();
}
}

问题:当我单击图像时,每次单击时图像中会显示 2 个副本。并且先前的视图被更改以显示新图像,使计数加倍。此外,该应用程序在最多 3 次点击后崩溃。

截图是: 在此处输入图片说明

请帮忙。

克莱门特·奥塞·塔诺
//I assume you are looping here
Bitmap result = BitmapFactory.decodeByteArray(picture, 0, picture.length);

                    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
                    result.compress(Bitmap.CompressFormat.JPEG, 100, bytes);

                    String path = MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), result, "Title", null);

                    CameraActivity.mBundle.putString("abc",path);
                    horizontalList.add(result);
                   // finish loop....................
//notify the adapter of data changes
recycleViewAdapter.notifyDataSetChanged();

在循环内创建一个新的适配器意味着只能显示一个项目,同时效率也很低。循环并添加循环中的元素,并在循环后通知适配器数据更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何自定义平视通知的布局?

来自分类Dev

如何自定义平视通知的布局?

来自分类Dev

如何使用在 Android 自定义视图中设置的属性调整膨胀布局的大小?

来自分类Dev

如何调整布局中的水平视图

来自分类Dev

在布局中重复自定义视图

来自分类Dev

从XML布局的自定义视图中删除包前缀

来自分类Dev

从XML布局的自定义视图中删除包前缀

来自分类Dev

在自定义图像视图中集成毕加索

来自分类Dev

自定义视图中的图像不会实时呈现

来自分类Dev

自定义视图:如何设置根布局

来自分类Dev

Android:XML布局中的自定义视图

来自分类Dev

在自定义视图构造函数中膨胀活动布局

来自分类Dev

如何在自定义类型的UIButton中设置图像视图的颜色?

来自分类Dev

在自定义视图中播放iOS中的视频

来自分类Dev

如何将自定义视图放入自定义viewGroup /布局中

来自分类Dev

在盒式布局中设置组件的自定义位置

来自分类Dev

如何在自定义构建的IOS相机中设置自动闪光模式和相机

来自分类Dev

如何在自定义构建的IOS相机中设置自动闪光模式和相机

来自分类Dev

在约束取决于框架的自定义视图中使用自动布局

来自分类Dev

在调用viewDidAppear之前,无法在自定义视图中进行iOS自动布局的修改

来自分类Dev

在合并了布局根标记的自定义视图中应用样式

来自分类Dev

无法在自定义对话框视图中删除 Android 布局文件末尾的空格

来自分类Dev

自定义布局未使用constraintLayout 在列表视图中居中

来自分类Dev

如何在水平视图中向背景添加动画?

来自分类Dev

根据自定义列表视图中数据库的值更改图像视图源

来自分类Dev

为选项卡布局中的每个选项卡设置自定义视图时出错

来自分类Dev

列表视图的Android自定义布局

来自分类Dev

android:自定义视图布局包装

来自分类Dev

自定义视图扩展相对布局

Related 相关文章

  1. 1

    如何自定义平视通知的布局?

  2. 2

    如何自定义平视通知的布局?

  3. 3

    如何使用在 Android 自定义视图中设置的属性调整膨胀布局的大小?

  4. 4

    如何调整布局中的水平视图

  5. 5

    在布局中重复自定义视图

  6. 6

    从XML布局的自定义视图中删除包前缀

  7. 7

    从XML布局的自定义视图中删除包前缀

  8. 8

    在自定义图像视图中集成毕加索

  9. 9

    自定义视图中的图像不会实时呈现

  10. 10

    自定义视图:如何设置根布局

  11. 11

    Android:XML布局中的自定义视图

  12. 12

    在自定义视图构造函数中膨胀活动布局

  13. 13

    如何在自定义类型的UIButton中设置图像视图的颜色?

  14. 14

    在自定义视图中播放iOS中的视频

  15. 15

    如何将自定义视图放入自定义viewGroup /布局中

  16. 16

    在盒式布局中设置组件的自定义位置

  17. 17

    如何在自定义构建的IOS相机中设置自动闪光模式和相机

  18. 18

    如何在自定义构建的IOS相机中设置自动闪光模式和相机

  19. 19

    在约束取决于框架的自定义视图中使用自动布局

  20. 20

    在调用viewDidAppear之前,无法在自定义视图中进行iOS自动布局的修改

  21. 21

    在合并了布局根标记的自定义视图中应用样式

  22. 22

    无法在自定义对话框视图中删除 Android 布局文件末尾的空格

  23. 23

    自定义布局未使用constraintLayout 在列表视图中居中

  24. 24

    如何在水平视图中向背景添加动画?

  25. 25

    根据自定义列表视图中数据库的值更改图像视图源

  26. 26

    为选项卡布局中的每个选项卡设置自定义视图时出错

  27. 27

    列表视图的Android自定义布局

  28. 28

    android:自定义视图布局包装

  29. 29

    自定义视图扩展相对布局

热门标签

归档