如何将图像从一个活动发送到另一个活动?

时间:2013-04-03 08:18:09

标签: android android-activity imageview send

我需要发送一个像我发送字符串“title”的imageview,但我不能,我怎么能将imageview(R.drawable.image)从mainactivity发送到secondactivity?

感谢

主要活动

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

4 个答案:

答案 0 :(得分:6)

解决方案1:(适用于非drawable资源)

您可以将路径文件名作为字符串发送。就像您示例中的"title"一样。

如果您对使用ImageView的文件路径有问题。 Show Image View from file path?


解决方案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); 
}

答案 1 :(得分:3)

将图片的路径放在putExtra中。不要发送位图,它可能很重

答案 2 :(得分:3)

保存文件路径

intent.putExtra("imagePath", filepath); 

通过意图发送图像并使用

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

答案 3 :(得分:0)

Drawables可用于您的应用程序中的所有活动。
您可以直接访问它们,而不是将它们从一个活动发送到另一个活动。