Как я могу передать данные из Recyclerview в другой?

В настоящее время я работаю над приложением для просмотра фильмов. Я пытаюсь передать данные из Recyclerview в другой recyclerview в новом действии. В настоящее время я знаю, как передавать данные из Recyclerview в textview и imageview. Однако я смотрел онлайн и пробовал коды, но все же я не мог передать данные из recyclerview в recyclerview. Я пытаюсь передать String ArrayList, который содержит URL-адреса. Как я мог передать данные? Пожалуйста, помогите мне TY! Я только недавно начал работать в студии Android

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

    Glide.with(mContext)
            .asBitmap()
            .load(mImageUrls.get(position))
            .into(holder.image);

    holder.name.setText(mNames.get(position));

    holder.image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d(TAG, "onClick: Clicked on an image: " + mNames.get(position));
            Toast.makeText(mContext, mNames.get(position), Toast.LENGTH_SHORT).show();
            //Intent intent = new Intent(v.getContext(), MovieDetails.class);
            //v.getContext().startActivity(intent);

            Intent intent = new Intent(mContext, MovieDetails.class);
            intent.putExtra("image_url", mImageUrls.get(position));
            intent.putExtra("image_name", mNames.get(position));
            intent.putExtra("director_name", mDirector.get(position));
            intent.putStringArrayListExtra("movieTrailer", mTrailer);
            mContext.startActivity(intent);


        }
    });

}

private void setImage(String imageUrl, String imageName, String directorName, ArrayList trailerUrl) {
    Log.d(TAG, "setImage: setting the image and name to widgets.");

    TextView name = findViewById(R.id.text_movie_original_title);
    name.setText(imageName);

    ImageView image = findViewById(R.id.image_movie_detail_poster);
    Glide.with(this)
            .asBitmap()
            .load(imageUrl)
            .into(image);

    TextView director = findViewById(R.id.text_movie_director_name);
    director.setText(directorName);

    RecyclerView trailer = findViewById(R.id.movie_videos);
    trailer.set;

Можно ли вообще передать данные из recyclerview в другой recyclerview? Я хочу понять цель нового действия, но не знаю, как это сделать. Для текстового просмотра я делаю String (имя переменной) = getIntent (). GetStringExtra (имя) и устанавливаю его с помощью TextView (имя переменной) = findviewbyid (R.id.textviewtitle); name.setText (имя переменной). Как установить текст с помощью recyclerview?

Lee Chun Yong 22.07.2018 13:27
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
1 856
2

Ответы 2

bundle.putParcelableArrayList("urlList", list)

отправить через intent

получить arraylist от

getParcelableArrayList("urlList")

Вы знаете, как я могу установить URL-адрес в recyclerview, чтобы при нажатии на него открывалась ссылка на YouTube?

Lee Chun Yong 22.07.2018 13:28

опубликуйте форму кода AdPater, где вы хотите открыть новую активность

prashant17 22.07.2018 13:30

Я только что добавил.

Lee Chun Yong 22.07.2018 13:39

какой из Arraylist содержит URL-адреса? Вы хотите передать все, что есть в mImageUrls, в новую активность

prashant17 22.07.2018 13:42

тот, который содержит URL-адрес, - mTrailer

Lee Chun Yong 22.07.2018 13:46

Я добавил код, который у меня уже есть, как установить строку в recyclerview

Lee Chun Yong 22.07.2018 13:50

Если я правильно понимаю, вы хотите установить string array list на recyclerview в new activity

prashant17 22.07.2018 15:16

Я думаю, что эти шаги помогут: 1. создать массивы

  1. поместите те же значения в массивы, которые вы положили на recyclerView.

  2. передать массивы с помощью намерения. Пример:

    Bundle bundle = new Bundle();
    bundle.putStringArray("arrayOfName", new String[]{name1, name2});
    bundle.putStringArray("arrayOfImageUrls", new String[]{url1, url2});
    Intent intent=new Intent(context, SecondActivity.Class);
    intent.putExtras(bundle);
    
  3. затем во втором действии:

    Bundle bundle = this.getIntent().getExtras();
    String[] names=bundle.getStringArray("arrayOfName");
    String[] urls=bundle.getStringArray("arrayOfImageUrls");
    
  4. добавьте эти массивы в адаптер recyclerView в SecondActivity

  5. установите адаптер на свой recyclerView

Другие вопросы по теме