Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как отправить изображение из одного действия в другое?

Автор вопроса: oscargcОтветов: 4

Мне нужно отправить изображение, например строку "название", но я не могу, как я могу отправить изображение (R.drawable.image) из основной активности во вторую?

БЛАГОДАРНОСТЬ

ОСНОВНАЯ ДЕЯТЕЛЬНОСТЬ

public void NewActivity(View view){
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("title", getString(R.string.title));
startActivity(intent);
}

ВТОРОЕ ЗАДАНИЕ

@Override
public void onCreate(Bundle bundle)
{

super.onCreate(bundle);
setContentView(R.layout.pantalla);
Bundle extras = getIntent().getExtras();
if (extras == null)
{
return;
}
String title = extras.getString("title");

TextView textview = (TextView)findViewById(R.id.titulo);

textview.setText(title);
}
  • Вы хотите отправить ImageView или просто само изображение? dumbfingers 03.04.2013

androidandroid-activitysendimageview

Ответы

Ответ 1 · рейтинг 6 · madlymad

Решение 1. (для ресурсов, отличных от drawable).

Вы можете отправить путь к файлу в виде строки. Так же, как "title" в вашем примере.

Если у вас возникли проблемы с использованием пути к файлу ImageView. Показать изображение из пути к файлу?


Решение 2. (для drawable простого и легкого способа)

Отправьте целочисленное значение ресурса, например:

ОСНОВНАЯ ДЕЯТЕЛЬНОСТЬ

Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("resourseInt", R.drawable.image);
startActivity(intent);

ВТОРОЕ ЗАДАНИЕ

@Override
public void onCreate(Bundle bundle)
{

    super.onCreate(bundle);
    setContentView(R.layout.pantalla);
    Bundle extras = getIntent().getExtras();
    if (extras == null)
    {
        return;
    }
    int res = extras.getInt("resourseInt");

    ImageView view = (ImageView) findViewById(R.id.something);

    view.setImageResourse(res);
}

Ответ 2 · рейтинг 3 · Nitin Gupta

Поместите путь к картинке в putExtra. Не отправляйте растровое изображение, оно может быть тяжелым

Ответ 3 · рейтинг 3 · Nirav Ranpara

Сохранить путь к файлу

intent.putExtra("imagePath", filepath);

отправить изображение с помощью намерения и использования

String image_path = getIntent().getStringExtra("imagePath");
Bitmap bitmap = BitmapFactory.decodeFile(image_path);
myimageview.setImageDrawable(bitmap);

Ответ 4 · Iram Bukhari

Рисуемые объекты доступны во всех действиях вашего приложения.
Вы можете получить к ним доступ напрямую вместо того, чтобы пересылать их из одного действия в другое.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы