我正在尝试使用Intent.putExtra附加图片,但是我不确定将图像发送到下一个活动时如何显示图像。
这是我的onClick:
lv.setOnItemClickListener (new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, bring up Mockactivity.class
if(position == 1)
{
Intent myIntent = new Intent(view.getContext(), mockactivity.class);
myIntent.putExtra("myDrawable", R.drawable.mydrawable);
startActivityForResult(myIntent, 0);
}
如果我取出“ myIntent.putExtra”行,它将单击并调出一个名为“ mockactivity.class”的空白活动,但是在该行不起作用。
有人知道如何在我点击进入的下一个活动中显示该可绘制对象吗?
最佳答案
R
类中的所有内容都是代表实际资源的整数。
在另一个Activity
中,您需要使用类似...
int myDrawableId = getIntent().getIntExtra("myDrawable", -1);
在这种情况下,
-1
是默认值,如果Intent
不包含具有该名称的int extra,则将返回该默认值,因此请在尝试使用myDrawableId
之前先测试-1
以查看其是否为myDrawableId
。然后,您应该能够以与使用
R.drawable.mydrawable
相同的方式使用ImageView
。编辑:使用此代码...
ImageView view = (ImageView) findViewById(...);
...您正在尝试查找
myImageView
而不是用于其图像源的drawable。您应该使用...ImageView view = (ImageView) findViewById(R.id.myImageView);
...其中
id
是ImageView
布局文件中mockactivity.xml
的。如果操作正确,则只需执行以下操作即可设置图像...view.setImageResource(myDrawableId);