Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从recylerview获取单个值_Java_Android_Android Recyclerview - Fatal编程技术网

Java 如何从recylerview获取单个值

Java 如何从recylerview获取单个值,java,android,android-recyclerview,Java,Android,Android Recyclerview,我已经将数据从recyclerview适配器传递到主活动,然后在单击recyclerview的图像时传递到其他活动。 现在我从中得到了多个值,我只想要一个URL 下面是适配器的代码 public void onBindViewHolder(@NonNull ViewHolder holder, int position) { Datum datum = datums.get(position); Glide.with(context).load(datums.

我已经将数据从recyclerview适配器传递到主活动,然后在单击recyclerview的图像时传递到其他活动。 现在我从中得到了多个值,我只想要一个URL 下面是适配器的代码

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

        Datum datum = datums.get(position);

        Glide.with(context).load(datums.get(position).getThumbnail()).into(holder.thumbnail);

        holder.title.setText(datum.getTitle());
        holder.artist.setText(datum.getArtist());
        holder.duration.setText(Integer.toString(datum.getDuration()));

        //imageview interface pass
        holder.thumbnail.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                onImageClickListener.onImageClick(datum.getUrl());
                onImageClickListener.onImageClick(datum.getThumbnail());
            }
        });
    }

主recylerview主活动中的onclick事件

 public void onImageClick(String imageData ) {

        Intent i = new Intent(MainActivity.this,exoplayer.class);
        i.putExtra("image", imageData);
        i.putExtra("url", imageData);
        startActivity(i);

    }
这是其他活动的代码

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_exoplayer);

        thumb = findViewById(R.id.thumb);
        link = findViewById(R.id.link);

        String image = getIntent().getStringExtra("image");
        String url = getIntent().getStringExtra("url");


        link.setText(url);
        Glide.with(this).asBitmap().load(image).into(thumb);

    }
以下是输出的屏幕截图


我只想要那个更大的url,我不需要其他url,它是缩略图的url。

好的,从我试图理解的角度来看,
url
被传递了两次,而您希望它被传递一次:

如果是这样的话:

更新
onImageClickListener
界面中的方法:

 //make the method accept two parameters

 public void onImageClick(String imageData , String urlData);
 public void onImageClick(String imageData , String urlData) {

        Intent i = new Intent(MainActivity.this,exoplayer.class);
        i.putExtra("image", imageData);
        i.putExtra("url", urlData);
        startActivity(i);

    }
    //imageview interface pass
    holder.thumbnail.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onImageClickListener.onImageClick(datum.getThumbnail() , datum.getUrl());
        }
    });
下一步更新在
MainActivity
中实现的方法:

 //make the method accept two parameters

 public void onImageClick(String imageData , String urlData);
 public void onImageClick(String imageData , String urlData) {

        Intent i = new Intent(MainActivity.this,exoplayer.class);
        i.putExtra("image", imageData);
        i.putExtra("url", urlData);
        startActivity(i);

    }
    //imageview interface pass
    holder.thumbnail.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onImageClickListener.onImageClick(datum.getThumbnail() , datum.getUrl());
        }
    });
最后,当您单击
RecyclerView
项目时,执行以下操作:

 //make the method accept two parameters

 public void onImageClick(String imageData , String urlData);
 public void onImageClick(String imageData , String urlData) {

        Intent i = new Intent(MainActivity.this,exoplayer.class);
        i.putExtra("image", imageData);
        i.putExtra("url", urlData);
        startActivity(i);

    }
    //imageview interface pass
    holder.thumbnail.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onImageClickListener.onImageClick(datum.getThumbnail() , datum.getUrl());
        }
    });

我不明白你想要什么,问题不清楚。