【问题标题】:Bitmap image array from recyclerview to other activity with position从 recyclerview 到具有位置的其他活动的位图图像数组
【发布时间】:2022-01-06 11:26:15
【问题描述】:

我想从位图数组回收器视图中获取单个图像并将其显示给我的详细活动

[回收器视图适配器类] ' public void onBindViewHolder(@NonNull viewholder holder, @SuppressLint("RecyclerView") int position) {

    model model= list.get(position);

    byte[] image=list.get(position).getImage();
    Bitmap bitmap= BitmapFactory.decodeByteArray(image,0,image.length);

    holder.imageView.setImageBitmap(bitmap);
    holder.t1.setText(list.get(position).getBrand());
    holder.t2.setText(list.get(position).getModel());
    holder.t3.setText(list.get(position).getYear());
    holder.t4.setText(list.get(position).getPrice());

    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent intent= new Intent(context,cardetail.class);
            intent.putExtra("im",bitmap);
            intent.putExtra("branddetail", String.valueOf(list.get(position).getBrand()));
            intent.putExtra("modeldetail",String.valueOf(list.get(position).getModel()));
            intent.putExtra("yeardetail",String.valueOf(list.get(position).getYear()));
            intent.putExtra("pricedetail",String.valueOf(list.get(position).getPrice()));
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);
        }
    });

[详细活动]

ImageView imgview;
TextView t1,t2,t3,t4;

Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cardetail);


    imgview=findViewById(R.id.imgdetail);
    t1=findViewById(R.id.cname);
    t2=findViewById(R.id.cmodel);
    t3=findViewById(R.id.cyear);
    t4=findViewById(R.id.cprice);

    listadaptr listadaptr;
    Bitmap bitmap= getIntent().getParcelableExtra("im");
    imgview.setImageBitmap(bitmap);
    
    t1.setText(getIntent().getStringExtra("branddetail"));
    t2.setText(getIntent().getStringExtra("modeldetail"));
    t3.setText(getIntent().getStringExtra("yeardetail"));
    t4.setText(getIntent().getStringExtra("pricedetail"));

在此处输入代码

【问题讨论】:

  • I want to get single image from bitmap array recycler view 可以。做。问题是什么?没有问题描述。也不是问题。
  • 我的 recyclerview 中有多个使用位图从 sqlite 获取的图像。我想通过 onclick 从 recyclerview 获取特定图像到其他活动并全屏显示。我不知道该怎么做
  • 好吧,点击处理程序中有很多代码。看起来这正是您所需要的。如果它不起作用,那么你应该告诉你出了什么问题。

标签: java android android-recyclerview android-bitmap


【解决方案1】:

您可以使用方法创建接口

void onImageChosen(Bitmap bitmap) 

这会将图像发送到添加了 RecyclerView 的活动。

listener.onImageChosen(yourBitmap);

但最好发送图像路径而不是完整的位图。 而且我不明白你 Intent 的目的。

当您已经从 RecyclerView 获得 Bitmap 并且它在您的 Activity 中时,您可以传递它。 要将现有位图从一个活动发送到另一个活动,您可以:

Intent intent = new Intent(this, NewActivity.class);
intent.putExtra("BitmapImage", bitmap);

获得:

Intent intent = getIntent(); 
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("BitmapImage");

【讨论】:

  • 意图是显示点击位置的细节。我的 recyclerview 中有很多项目,当我单击其中任何一个时,意图应该将该特定位置的详细信息带到下一个活动
  • @sameeryawar 我编辑了我的答案,也许它会对你有所帮助。
【解决方案2】:

我将意图打包并解决了谢谢大家。

【讨论】:

  • 你能显示代码吗?
猜你喜欢
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 2016-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多