使用R资源在屏幕上显示getStringArrayList值

时间:2012-02-24 22:25:14

标签: android arrays image

我有两个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

2 个答案:

答案 0 :(得分:0)

imageBitmap吗?如果是这样implements Parcelable,则表示您想getIntent().getParecelableExtra("temp_image"); 这是JAVADOC:http://developer.android.com/reference/android/content/Intent.html#getParcelableExtra(java.lang.String

答案 1 :(得分:0)

IntentsBundles的形式传递数据。所以,我相信这会让你做你想做的事:how do you pass images (bitmaps) between android activities using bundles?

或者,您可以使用byte[] API将图片分成BitmapFactory,然后使用该图片传递到Intents内部。

但是,请注意,所有这些都是内存密集型操作,而不是理想的做法。相反,您的来源Activity应将图像保存到文件,并使用ArrayList将包含文件名及其对应映射的Activity传递到目标Intents。我过去有一个类似的用例,相信我,通过Intents传递图像对象迟早会OutOfMemoryErrors heap因为DVM将继续增长到某个阈值并最终{{1}}不允许其进一步增长并终止您的应用。