簡體   English   中英

如何將圖像從recyclerview適配器傳遞到另一個活動

[英]how can pass image from recyclerview adapter to another activity

我想將圖像從RecyclerView適配器傳遞到另一個活動。 這是我的適配器:

public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {
    private Context context;
    private ArrayList<Deatails> android;


    public DataAdapter(Context context,ArrayList<Deatails> android) {
        this.context = context;
        this.android = android;
    }

    @Override
    public DataAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.card_row, viewGroup, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(DataAdapter.ViewHolder viewHolder, final int i) {

        viewHolder.tv_name.setText(android.get(i).getName());
        viewHolder.tv_version.setText(android.get(i).getVer());
        viewHolder.tv_api_level.setText(android.get(i).getApi());

      Picasso.with(context).load("http://memaraneha.ir/Erfan/images/"+android.get(i).getPic()).resize(500,500)
                .into(viewHolder.tv_image);

    }

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

    public class ViewHolder extends RecyclerView.ViewHolder{
        private TextView tv_name,tv_version,tv_api_level;
        private ImageView tv_image;


        public ViewHolder(final View view) {
            super(view);

            tv_name = (TextView)view.findViewById(R.id.tv_name);
            tv_version = (TextView)view.findViewById(R.id.tv_version);
            tv_api_level = (TextView)view.findViewById(R.id.tv_api_level);
            tv_image= (ImageView) view.findViewById(R.id.img);

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

                    Bundle b = new Bundle();
                    Intent intent=new Intent(view.getContext(),Main2Activity.class);
                    String passingdata = tv_name.getText().toString();
                    b.putString("Key", passingdata);
                    intent.putExtras(b);
                    view.getContext().startActivity(intent);



                }
            });
        }
    }
}

這是我的另一項活動:

public class Main2Activity extends AppCompatActivity {

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

        Bundle b = getIntent().getExtras();
        String receivingdata = b.getString("Key");
        TextView textView=(TextView)findViewById(R.id.tv_title);
        textView.setText(receivingdata);

    }
}

所以我在view.setOnClickListener(new View.OnClickListener() {

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

                    Bundle b = new Bundle();
                    Intent intent=new Intent(view.getContext(),Main2Activity.class);
                    String passingdata = tv_name.getText().toString();
                    b.putString("Key", passingdata);
                    intent.putExtras(b);
                    view.getContext().startActivity(intent);
                }
            });

並在本節的另一項活動中

 Bundle b = getIntent().getExtras();
        String receivingdata = b.getString("Key");
        TextView textView=(TextView)findViewById(R.id.tv_title);
        textView.setText(receivingdata);

我為傳遞圖像所做的事情嘗試了很多,但是沒用。 似乎此鏈接重復了我的問題,但在我的情況下有一些不同,我感到困惑。 如果有人可以幫忙

不要在意圖中直接傳遞圖像。 嘗試將圖像保存在本地(如果是URL圖像,則使用一些庫從Web加載圖像,它們實現了緩存),並且僅將URI傳遞給該圖像進行活動。 然后從傳遞的URI中讀取圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM