Назначьте ресурс изображения в представлении изображения со строкой - PullRequest
0 голосов
/ 06 марта 2019

(1) Я использую recyleview для получения изображения, текста и аудио файла из API. Для текста я использовал залп, а для изображения - Пикассо, что я буду использовать для аудио файла.

(2) после извлечения изображения и текста при применении onclicklistener передать информацию другому занятию. Может передавать только текст, а не изображения.

Что мне нужно сделать, чтобы решить эту проблему?

это часть адаптера

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);
            }
        });

это новая часть деятельности

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 Ответ

0 голосов
/ 06 марта 2019

(1.) если у вас есть полный URL-адрес вашего аудиофайла, вы можете напрямую транслировать аудиофайл с помощью классов медиаплеера, предоставляемых Android.

(2.) вы передаете storyImage в следующем упражнении, который является URL-адресом, полученным из API. так что вы должны найти то же самое в следующем упражнении, т.е.

   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.
} 
...