使用字符串在图像视图中分配图像资源

Assign image resource in an image view with string

(1) 我正在使用 recyleview 从 API 获取图像、文本和音频文件。对于文本我使用 volley & 对于图像使用 picasso,我将使用什么来制作音频文件。

(2) 在应用时获取图像和文本后 onclicklistener 将信息传递给另一个 activity。只能传递文字,不能传递图片。

我需要做什么来解决这个问题?

这是适配器部件

viewHolder.textViewStory.setText(banglaItem.getStoryName());
viewHolder.textViewWritter.setText(banglaItem.getWritterName());

        Picasso.get().load(banglaItem.getStoryImage()).fit().into(viewHolder.imageView);

        viewHolder.linear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(context,AudioActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.putExtra("storyName",banglaItem.getStoryName());
                intent.putExtra("storyImage",banglaItem.getStoryImage());

                context.startActivity(intent);
            }
        });

这是新的 activity 部分

public class AudioActivity extends AppCompatActivity {

    TextView name;
    ImageView image;
    String nameStory;
    String imageStory;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_audio);

        name = findViewById(R.id.audioName);
        image = findViewById(R.id.audioImage);

        nameStory = getIntent().getStringExtra("storyName");
        imageStory = getIntent().getStringExtra("storyImage");

        name.setText(nameStory);
        int resourceId = getResources().getIdentifier(imageStory,"drawable", getPackageName());
        image.setImageResource(resourceId);
    }
}

(1.) 如果您有完整的 url 音频文件,那么您可以使用 类 提供的媒体播放器直接流式传输音频文件 android.

(2.) 您将在下一个 activity 中传递 storyImage ,这是您从 [=23 获得的 url =].所以你必须在下一个 activity 上找到相同的,即

   TextView name;
   ImageView image;
   String nameStory;
   String imageStory;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_audio);

   name = findViewById(R.id.audioName);
   image = findViewById(R.id.audioImage);

   nameStory = getIntent().getStringExtra("storyName");
   imageStory = getIntent().getStringExtra("storyImage");

   name.setText(nameStory);
   Picasso.get().load(imageStory).fit().into(image);
   //here image story contain url that you sent through first activity. As picasso uses cache, it will load (already loaded image in first activity) very smoothly from it cache.
}