简体   繁体   English

如何转移图像新意图

[英]How can I transfer image new intent

This is my adapter and I save my image string type in Responsemodel class.这是我的适配器,我将图像字符串类型保存在 Responsemodel 类中。

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.myviewholder>
{

    List<ResponseModel> data;

    private final IOtobusSaatleriInterface iOtobusSaatleriInterface;

    Context context;
    
    public MyAdapter(List<ResponseModel> data, IOtobusSaatleriInterface iOtobusSaatleriInterface, Context context) {
        this.data = data;
        this.iOtobusSaatleriInterface = iOtobusSaatleriInterface;
        this.context = context;

    }

    @NonNull
    @Override
    public myviewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.singlerowdesign,parent,false);
        return new myviewholder(view,iOtobusSaatleriInterface);
    }

    @Override
    public void onBindViewHolder(@NonNull myviewholder holder, int position) {
        holder.t1.setText(data.get(position).getName());
        holder.t2.setText(data.get(position).getDesig());
        Glide.with(holder.t1.getContext())
                .load("http://example.site/Gurpinar/images/" +data.get(position).getImage()).into(holder.img);
    }

    @Override
    public int getItemCount() {
        return null!=data?data.size():0;

    }

    class myviewholder extends RecyclerView.ViewHolder{
        ImageView img;
        TextView t1,t2;
        
        public myviewholder(@NonNull View itemView, IOtobusSaatleriInterface iOtobusSaatleriInterface) {
            super(itemView);
            img = itemView.findViewById(R.id.img);
            t1 = itemView.findViewById(R.id.t1);
            t2 = itemView.findViewById(R.id.t2);
            
            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (iOtobusSaatleriInterface != null){
                        int position = getAdapterPosition();
                        if (position != RecyclerView.NO_POSITION);
                        iOtobusSaatleriInterface.onItemClick(position);
                        Intent intent = new Intent(context,deneme.class);
                        intent.putExtra("name",data.get(position).getName());
                        intent.putExtra("resim","http://example.site/Gurpinar/images/");
                        context.startActivity(intent);
                    }
                }
            });
        }
    }
}

and my new empty activity和我新的空活动

public class deneme extends AppCompatActivity {

    TextView textView;
    ImageView imageView;


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

        textView = findViewById(R.id.textView);
        imageView = findViewById(R.id.imageView);


        Intent intent = getIntent();

        String name = intent.getStringExtra("name");

        String goruntu = intent.getStringExtra("resim");

        String.valueOf(Glide.with(imageView).load(goruntu));

        textView.setText(name);


    }
}

And my new empty activity还有我的新空活动

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout

 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 tools:context=".deneme">


 <ImageView
     android:id="@+id/imageView"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     app:srcCompat="@mipmap/ic_launcher" />


 <TextView
     android:id="@+id/textView"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_marginLeft="5sp"
     android:gravity="left"
     android:text="TextView"
     android:textColor="#494545"
     android:textSize="25sp"
     app:layout_constraintBottom_toTopOf="@+id/imageView" />

</LinearLayout>

My problem is I can access name data but image cannot be displayed.我的问题是我可以访问名称数据但无法显示图像。 How can I access the selected photo?如何访问所选照片? I take the photos in mysql database and with the url recyclerview.我在 mysql 数据库和 url recyclerview 中拍摄照片。

Perhaps you can pass the image as a Base64 in the Intent and create in the new Activity a Imagefile from this String.也许您可以在 Intent 中将图像作为 Base64 传递,并在新的 Activity 中从该字符串创建一个 Imagefile。

Create as Base64 String: How to get raw string of an image from Bitmap in android?创建为 Base64 字符串: 如何从 android 中的位图获取图像的原始字符串?

Create the Imagefile again from the String: Create image file from raw string data从字符串再次创建图像文件:从原始字符串数据创建图像文件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM