我有两个A和B类,我已经使用intent将数组文本值从A成功传递给B.但是我有两个问题需要处理。
1-我不能通过意图发送我的图像。
2-我无法在B类中显示收到的值。
我怎样才能做到这一点。
到目前为止我所做的一切。
A类:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
Intent in = new Intent(this,
Mahad.class);
in.putExtra("temp_image", image);
in.putStringArrayListExtra("temp_identifier", identif);
in.putStringArrayListExtra("temp_price", price);
in.putStringArrayListExtra("temp_bedrooms", bedrooms);
in.putStringArrayListExtra("temp_address", address);
in.putStringArrayListExtra("temp_propType", propType);
startActivity(in);
}
B组:
identif = getIntent().getExtras().getStringArrayList("temp_identifier");
price = getIntent().getExtras().getStringArrayList("temp_price");
bedrooms = getIntent().getExtras().getStringArrayList("temp_bedrooms");
address = getIntent().getExtras().getStringArrayList("temp_address");
propType = getIntent().getExtras().getStringArrayList("temp_propType");
image = getIntent().getByteArrayExtra("temp_image");//Not working
答案 0 :(得分:0)
image
是Bitmap
吗?如果是这样implements Parcelable
,则表示您想getIntent().getParecelableExtra("temp_image");
这是JAVADOC:http://developer.android.com/reference/android/content/Intent.html#getParcelableExtra(java.lang.String)
答案 1 :(得分:0)
Intents
以Bundles
的形式传递数据。所以,我相信这会让你做你想做的事:how do you pass images (bitmaps) between android activities using bundles?
或者,您可以使用byte[]
API将图片分成BitmapFactory
,然后使用该图片传递到Intents
内部。
但是,请注意,所有这些都是内存密集型操作,而不是理想的做法。相反,您的来源Activity
应将图像保存到文件,并使用ArrayList
将包含文件名及其对应映射的Activity
传递到目标Intents
。我过去有一个类似的用例,相信我,通过Intents
传递图像对象迟早会OutOfMemoryErrors
heap
因为DVM
将继续增长到某个阈值并最终{{1}}不允许其进一步增长并终止您的应用。