Я хочу отобразить изображение из Интернета из основного действия в другое действие?

#android

#Android

Вопрос:

Я хочу отобразить изображение из Интернета из основного действия в другое действие. Но это не работает. Что я сделал:

// Основное действие

 gameListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {

            // Find the current game that was clicked on
            Games currentGame = mAdapter.getItem(position);


            // Convert the String URL into a URI object (to pass into the Intent constructor)
            Uri gameUri = Uri.parse(currentGame.getUrl());

            // Create a new intent to view the game URI
             Intent i = new Intent(GamesActivity.this,PreviewActivity.class);
             i.putExtra("value",gameUri);
             startActivity(i);


        }
    });
  

// Второе действие

 public class PreviewActivity extends AppCompatActivity {

ImageView img;

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

    img = findViewById(R.id.imagePreview);

    Uri i = getIntent().getData();

    Picasso.with(this).load(i).into(img);
        }
}
  

Комментарии:

1. Я предполагаю, что ваш вопрос «почему это не работает»? Вы сохраняете URL в качестве дополнительных данных, а затем пытаетесь прочитать его обратно из основного значения. Попробуйте сохранить его с помощью setData или прочитать его обратно с помощью getExtra . Вы также должны справиться с GetIntent, возвращающим null во втором действии, например, если оно было запущено каким-либо другим способом.

2. Большое вам спасибо, вы решили мою проблему.

Ответ №1:

    Intent intent=getIntent();
    String i=intent.getStringExtra("value");
Picasso.with(this).load(i).into(img);
  

И URL в виде строки.

Комментарии:

1. Я сделал это перед загрузкой вопроса

2. сначала проверьте URL, если все в порядке, затем попробуйте это, это может произойти из-за конфликта версий Picasso.get ().load (i) .fit().placeholder (ПОМЕСТИТЕ НЕКОТОРЫЙ ЗАПОЛНИТЕЛЬ «) .into (img);

3. большое спасибо, я использовал setData () вместо putExtra (), и проблема была решена.