RecyclerView: намерение позиции элемента - PullRequest
0 голосов
/ 17 декабря 2018

Мне удалось поставить onClickListener для recyclerView, но моя проблема здесь

Каждый элемент в recyclerview перейти к той же новой деятельности !!!

Можем ли мы решить это с помощью позиции предмета или как ??

Я пытаюсь отправить каждый RecyclerView (ПУНКТ или ячейку) на новый activity.Скажем, первый - это Еда, отправьте его на страницу с едой, затем - здоровье, отправьте на страницу здоровья ... и т. Д. Я пытаюсь изменить вид деятельности. Класс, который он отправляет пользователю для каждого отдельного представления изосновной вид деятельности.

Мой класс адаптера

import java.util.List;

    public class Adapter extends RecyclerView.Adapter<Adapter.myViewHolder>{



        Context mcontext;
        List<item> mData;
        RecyclerView recyclerView;







        public Adapter(Context mcontext, List<item> mData) {
            this.mcontext = mcontext;
            this.mData = mData;
        }

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

            LayoutInflater inflater=LayoutInflater.from(mcontext);
            View v =inflater.inflate(R.layout.card_item,parent,false);

            return new myViewHolder(v);
        }

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

            holder.background_img.setImageResource(mData.get(position).background);
            holder.tv_title.setText(mData.get(position).profilename);
            holder.profile_photo.setImageResource(mData.get(position).profilephoto);
            holder.tv_subtitle.setText(mData.get(position).subtitle);
            holder.share.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
                    sharingIntent.setType("text/plain");
                    String shareBody = "Your body here";
                    String shareSub = "Your subject here";
                    sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, shareSub);
                    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
                    mcontext.startActivity(Intent.createChooser(sharingIntent, "Share using"));
                }
            });

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




                    Intent intent = new Intent(mcontext, SomaBay_bulding_Structure.class);

                    mcontext.startActivity(intent);


                }
            });

        }



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

        public class myViewHolder extends RecyclerView.ViewHolder{

            ImageView profile_photo,background_img;
            TextView tv_title,tv_subtitle;
            Button share;


            public myViewHolder(View itemView) {
                super(itemView);
                profile_photo=itemView.findViewById(R.id.profile_img);
                background_img=itemView.findViewById(R.id.card_background);
                tv_title=itemView.findViewById(R.id.card_title);
                tv_subtitle=itemView.findViewById(R.id.card_subtitle);
                 share = itemView.findViewById(R.id.button_share);


            }


        }
    }

1 Ответ

0 голосов
/ 17 декабря 2018

Как я понял ваш вопрос: вам нужно начинать действия, зависит от типа элемента, если у вас есть этот параметр:

            Intent intent;
            if(mData.get(position).type.equals("FOOD")){
              intent =  new Intent(mcontext, FoodActivity.class);
            }else if(mData.get(position).type.equals("HEALTH")){
                intent = new Intent(mcontext, HealthActivity.class);
            }else if(...){
                //
            }
            startActivity(intent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...