5

我需要像发送字符串“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

4 回答 4

6

解决方案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); 
}
于 2013-04-03T08:23:18.797 回答
3

把图片的路径放到putExtra中。不要发送位图它可能很重

于 2013-04-03T08:22:42.803 回答
3

保存文件路径

intent.putExtra("imagePath", filepath); 

通过意图发送图像并使用

String image_path = getIntent().getStringExtra("imagePath");
Bitmap bitmap = BitmapFactory.decodeFile(image_path);
myimageview.setImageDrawable(bitmap);
于 2013-04-03T08:24:03.410 回答
0

在您的应用程序中的所有活动中都可以使用可绘制对象。 您可以直接
访问它们,而不是将它们从一个活动发送到另一个活动。

于 2013-04-03T08:42:18.700 回答