【发布时间】:2014-08-04 13:36:40
【问题描述】:
我不能说流利的英语,我是安卓新手。请多多包涵。
问题:
我想将图像从第一个活动传递到第二个活动
但 putExtra 出现问题。
什么问题?请帮帮我。
代码:
public class First extends Activity implements OnClickListener, OnItemClickListener {
ArrayList<Integer> arrayItem;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
arrayItem = new ArrayList<Integer>();//
arrayItem.add(R.drawable.top1);
arrayItem.add(R.drawable.top2);
arrayItem.add(R.drawable.top3);
arrayItem.add(R.drawable.top4);
First_Adapter adapter = new First_Adapter(this, arrayItem);
GridView grid = (GridView) this.findViewById(R.id.gridView1);
grid.setAdapter(adapter);
final ImageView iv1 = (ImageView) findViewById(R.id.imageView1);
Button btn1 =(Button)findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String imgName="iv1";
Intent in =new Intent(First.this, Second.class);
in.putExtra("imgName", iv1);
startActivity(in);
finish();
}
});
// grid.setOnClickListener(this);
grid.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
iv1.setImageResource(arrayItem.get(arg2));
}
});
}
public class Second extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent in = getIntent();
String imgName=in.getStringExtra("imgName");
int iv1 = getResources().getIdentifier(imgName, "drawable", getPackageName());
Bitmap bm =((BitmapDrawable) getBaseContext().getResources().getDrawable(iv1)).getBitmap();
ImageView iv =(ImageView) findViewById(R.id.imageView2);
iv.setImageBitmap(bm);
}
【问题讨论】:
-
有助于您将图像转换为位图并在 android android-er.blogspot.in/2011/10/… 中将一个活动解析为另一个活动@
-
图片是否在名为 iv1.png 的可绘制文件夹中?
标签: android gridview android-intent imageview