Saya memiliki tampilan recycle yang berisi informasi dari API Setelah itu di setiap item recycleview saya memiliki tombol yang membuka aktivitas baru Aktivitas baru ini memanggil API kedua dan memiliki parameter kueri sebagai informasi dari API pertama

Masalah saya adalah bagaimana menggunakan informasi dari aktivitas pertama di adaptor saya secara langsung karena saya memiliki niat baru (yang akan membuka aktivitas kedua dan pada saat yang sama mengirim variabel ke aktivitas kedua) di adaptor

 class ItemViewHolder extends RecyclerView.ViewHolder{
    public TextView code,description,emplacement;
    public ImageButton fils,detailsactif,serviceId;
    public ItemViewHolder(View itemView) {
        super(itemView);
        code= (TextView) itemView.findViewById(R.id.txtcode);
        description= (TextView) itemView.findViewById(R.id.txtdescription);
        emplacement= (TextView) itemView.findViewById(R.id.txtemplacement);
        fils= (ImageButton) itemView.findViewById(R.id.fils);
        detailsactif= (ImageButton) itemView.findViewById(R.id.detailsactif);
        serviceId= (ImageButton) itemView.findViewById(R.id.serviceId);


        itemView.findViewById(R.id.detailsactif).setOnClickListener(new View.OnClickListener() {

            
        @Override
        public void onClick(View itemView) {

                Intent intent = new Intent(itemView.getContext(), details_actif.class);
                intent.putExtra("asset","zz");
                (itemView.getContext()).startActivity(intent);


        }
    });

 @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        if (holder instanceof ItemViewHolder)
        {
            Item item = items.get(position);
            String codeAsset = item.getCode();
            ItemViewHolder viewHolder = (ItemViewHolder) holder;
            viewHolder.code.setText(items.get(position).getCode());
            viewHolder.description.setText(items.get(position).getDescription());
            viewHolder.emplacement.setText(items.get(position).getEmplacement());
//            viewHolder.detailsactif.setOnClickListener(new View.OnClickListener() {
//                @Override
//                public void onClick(View itemView) {
//                    Intent intent = new Intent(itemView.getContext(), details_actif.class);
//                    (itemView.getContext()).startActivity(intent);
//
//                }
//            });


---------------firstactivity---------------------
Call<Modal> userList = ApiClient.getUserService().getData();
        userList.enqueue(new Callback<Modal>() {
            @Override
            public void onResponse(Call<Modal> call, Response<Modal> response) {
                if(response.isSuccessful()) {
                    List<UserResponse> userResponses = (response.body()).getmUsersResponse();


                    for (int i=0; i<10; i++)
                    {
//                        SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
//                        SharedPreferences.Editor editor = mPreferences.edit();
//                        String code2 = mPreferences.getString(getString(R.string.code),"");
//                        setText(code2);
                        String code = userResponses.get(i).getAssetnum();
                        String description = userResponses.get(i).getDescription();
                        String emplacement = userResponses.get(i).getSiteid();

                        ImageButton fils= (ImageButton) view.findViewById(R.id.fils);
                        ImageButton details_actif= (ImageButton) view.findViewById(R.id.detailsactif);
                        ImageButton serviceId = (ImageButton) view.findViewById(R.id.serviceId);
//                       

                        Item item = new Item(code,description,emplacement,fils,details_actif,serviceId);
                        items.add(item);
                    }



//                    Log.e("sucess",(response.body()).getmUsersResponse().toString());
                    RecyclerView listeactif = (RecyclerView) view.findViewById(R.id.listeactif);
                    listeactif.setLayoutManager(new LinearLayoutManager(getContext()));
                    adapter = new MyAdapter(listeactif, getActivity(), items);
                    listeactif.setAdapter(adapter);

 
-1
Ahmed feki 10 Mei 2021, 17:33

1 menjawab

Jawaban Terbaik

Simpan parameter kueri untuk API kedua dari API pertama sebagai model di recyclerview. Saat mengklik recyclerview Holder, berikan nilai dari model ke aktivitas baru sebagai intent.put(YourValue). Dari aktivitas baru, baca maksud dan panggil API kedua

Simpan hasil API pertama sebagai daftar --> Buat Recyclerview dengan daftar --> Berikan nilai model ke Aktivitas baru saat mengklik tombol di dudukan.

0
spider 10 Mei 2021, 14:54