第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

RecyclerView 單擊并替換另一個(gè)活動(dòng)中的圖像

RecyclerView 單擊并替換另一個(gè)活動(dòng)中的圖像

Smart貓小萌 2023-08-16 15:56:38
我對(duì)如何解決有關(guān)如何單擊 RecyclerView 并從另一個(gè)活動(dòng)(例如 MainActivity)更改圖像的疑問有一些疑問。在圖片中你可以看到我正在嘗試做什么。我總共有 6 張圖像,3 張小圖像和另外 3 張大圖像。在 MainActivity 的頁(yè)腳中,我有 ReciclerView 加載 3 個(gè)小圖像,我希望當(dāng)它們單擊 image_Small_2/item_Small_2 時(shí),將中間的圖像替換為 image_Large_2/item_Large_2。我不知道我是否解釋得很好,我給你留下了截圖和代碼,看看你是否可以幫助我。提前致謝。PS 我使用 glide 庫(kù)來(lái)加載圖像。我的適配器 RecyclerViewpublic class AdaptadorX extends RecyclerView.Adapter<AdaptadorX.ViewHolder> {    private ArrayList<Items> itemsLi;    private Context context;    public static class ViewHolder extends RecyclerView.ViewHolder{        public ImageView idSrcImagen;        public ViewHolder(@NonNull View itemView) {            super(itemView);            idSrcImagen = itemView.findViewById(R.id.idImagen);        }    }    public AdaptadorX(ArrayList<Items> itemsListado, Context context_L){        itemsLi = itemsListado;        context = context_L;    }    @NonNull    @Override    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_item, parent, false);        ViewHolder content = new ViewHolder(view);        return content;    }    @Override    public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {        final Items contarItems =  itemsLi.get(position);        Glide.with(context).load(contarItems.getxNombre_imagen()).into(holder.idSrcImagen);        holder.idSrcImagen.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Log.d("Mensaje_AdaptadorX.java", "Mi Posicion FOTO es: "+String.valueOf(position));            }        });    }    @Override    public int getItemCount() {        Log.d("Mensaje_Size_Tama?o", String.valueOf(itemsLi.size()));        return itemsLi.size();    }}
查看完整描述

1 回答

?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊

您需要在活動(dòng)中實(shí)現(xiàn)接口偵聽器并將其傳遞給適配器。將其添加到您的適配器并通過構(gòu)造函數(shù)傳遞它


interface OnImageClickListener{

    void onSelected(String url);

}

您的整個(gè)適配器應(yīng)該如下所示。


public class AdaptadorX extends RecyclerView.Adapter<AdaptadorX.ViewHolder> {

private ArrayList<Items> itemsLi;

private Context context;

pruvate OnImageClickListener listener;


interface OnImageClickListener{

    void onSelected(String url);

}


public static class ViewHolder extends RecyclerView.ViewHolder{

    public ImageView idSrcImagen;


    public ViewHolder(@NonNull View itemView) {

        super(itemView);

        idSrcImagen = itemView.findViewById(R.id.idImagen);

    }

}


public AdaptadorX(ArrayList<Items> itemsListado, Context context_L, OnImageClickListener listener){

    itemsLi = itemsListado;

    context = context_L;

    this.listener = listener;

}


@NonNull

@Override

public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_item, parent, false);

    ViewHolder content = new ViewHolder(view);

    return content;

}


@Override

public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {

    final Items contarItems =  itemsLi.get(position);

    Glide.with(context).load(contarItems.getxNombre_imagen()).into(holder.idSrcImagen);

    holder.idSrcImagen.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View view) {

            listener.onSelected(contarItems.getxNombre_imagen())

        }

    });

}


@Override

public int getItemCount() {

    Log.d("Mensaje_Size_Tama?o", String.valueOf(itemsLi.size()));

    return itemsLi.size();

}

}


在您的 Activity 中,您實(shí)現(xiàn)此接口并將其傳遞給適配器。


public class MainActivity extends AppCompatActivity implements OnImageClickListener   {

public ImageView idImgHead;

private ArrayList<Items> items;

private RecyclerView idRecyclerView;

private RecyclerView.Adapter adapter;

private RecyclerView.LayoutManager layoutManager;


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


    idRecyclerView = findViewById(R.id.idRecyclerView);

    idImgHead = findViewById(R.id.idImgHead);

    Glide.with(this).load("https://www.midominio.com/Imagen_GRANDE_head_01.jpg").into(idImgHead); //IMAGE BIG

    listadoXhead();

}


@Override

public onSelected(String url) {

     Glide.with(this).load(url).into(idImgHead);

}


private void listadoXhead() {

    ArrayList<Items> items = new ArrayList<>();

    items.add(new Items("https://www.midominio.com/Imagen_Peque?a_head_01.jpg")); //IMAGE Small

    items.add(new Items("https://www.midominio.com/Imagen_Peque?a_head_02.jpg")); //IMAGE Small

    items.add(new Items("https://www.midominio.com/Imagen_Peque?a_head_03.jpg")); //IMAGE Small

    idRecyclerView.setHasFixedSize(true);

    layoutManager = new LinearLayoutManager(MainActivity.this);

    ((LinearLayoutManager) layoutManager).setOrientation(RecyclerView.HORIZONTAL);

    adapter = new AdaptadorX(items, MainActivity.this, this);

    idRecyclerView.setLayoutManager(layoutManager);

    idRecyclerView.setAdapter(adapter);

}

}


查看完整回答
反對(duì) 回復(fù) 2023-08-16
  • 1 回答
  • 0 關(guān)注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)