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

Мне нужно отправить изображение, например строку «название», но я не могу, как я могу отправить изображение (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); 
}

person oscargc    schedule 03.04.2013    source источник
comment
Вы хотите отправить ImageView или просто само изображение?   -  person dumbfingers    schedule 03.04.2013


Ответы (4)


Решение 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); 
}
person madlymad    schedule 03.04.2013

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

person Nitin Gupta    schedule 03.04.2013

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

intent.putExtra("imagePath", filepath); 

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

String image_path = getIntent().getStringExtra("imagePath");
Bitmap bitmap = BitmapFactory.decodeFile(image_path);
myimageview.setImageDrawable(bitmap);
person Nirav Ranpara    schedule 03.04.2013

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

person Iram Bukhari    schedule 03.04.2013