Вывести значения getStringArrayList на экран, используя ресурсы R - PullRequest
0 голосов
/ 25 февраля 2012

У меня есть два класса A и B, я использовал намерение успешно передать текстовые значения массива от 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 голосов
/ 25 февраля 2012

Intents передать данные в виде Bundles.Итак, я уверен, что это должно заставить вас сделать то, что вы пытаетесь сделать: как вы передаете изображения (растровые изображения) между действиями Android с помощью пакетов?

В качестве альтернативы, вы можете сломатьизображение в byte[] с использованием BitmapFactory API и использовать его для передачи внутрь Intents.

Однако имейте в виду, что все это операции с интенсивным использованием памяти, а не идеальная практика.Вместо этого ваш источник Activity должен сохранить изображения в файлы и передать ArrayList, содержащий имена файлов и соответствующие им сопоставления, в пункт назначения Activity, используя Intents.В прошлом у меня был похожий случай использования, и, поверьте мне, передача объектов изображения через Intents Рано или поздно вызовет у вас OutOfMemoryErrors, так как heap будет расти до определенного порога, и в итоге DVM выиграет 'не позволяет этому расти дальше и убивает ваше приложение.

0 голосов
/ 25 февраля 2012

Является ли image a Bitmap?Если это так, то implements Parcelable, что означает, что вы хотите сделать getIntent().getParecelableExtra("temp_image"); Вот JAVADOC: http://developer.android.com/reference/android/content/Intent.html#getParcelableExtra(java.lang.String)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...