используя onClick, чтобы открыть детали в зависимости от позиции представления Recycler - PullRequest
0 голосов
/ 31 мая 2018

Я хочу открыть больше деталей, когда я нажимаю на элемент, используя позицию и устанавливаю даты в упражнении.

enter image description here

Вы можете написатьВаше предложение на Java или Kotlin:)

Ответы [ 2 ]

0 голосов
/ 20 июня 2018

в первую очередь метод recyclerView OnClick для получения позиции элемента Click, как этот метод

int position=getAdapterPosition();

, чем получение позиции элемента (например, modelArrayList.get(getAdapterPosition());)

, чем отправка идентификатора для следующего действияи id для получения данных в базе данных и установки всех деталей в следующем действии

окончательный код

  itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int position=getAdapterPosition();
               ModelClass model = modelArrayList.get(getAdapterPosition());
              Long id = model.getId();
                Intent i = new Intent(v.getContext(), NextActivity.class);
                i.putExtra("id",id);

                v.getContext().startActivity(i);
            }
        });

и код NextActivity

Long id = getActivity().getIntent().getExtras().getLong("id", 0);
0 голосов
/ 31 мая 2018

Создать конструктор в классе адаптера:

  public DataAdapter(List<Pojo> dataList, OnItemClickListener listener) {
            this.dataList = dataList;
            this.listener = listener;
        }

Создать OnBindViewHolder() метод и получить позицию:

@Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        final Pojo movie = dataList.get(position);

        holder.Showid.setText(movie.getCatagory_id());
        holder.fname.setText(movie.getCatagory_name());
        holder.thumbNail.setImageUrl(movie.getCatagory_thumbnailUrl(), imageLoader);
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override public void onClick(View v) {
                listener.onItemClick(movie.getSubCatagoryArrayList());
            }

        });
    }

В MainActivity.class Создать в интерфейсе:

public interface OnItemClickListener {
        void onItemClick(ArrayList<Pojo2> item);
    }
...