0

我制作了一个应用程序,在该应用程序中,我从一个(带有图像和几个文本字段)中weburl使用检索数据,并且我为另一个活动编写了代码和值显示,但我无法将图像从一个活动发送到另一个活动,但是使用item 发送文本数据。xmlparsinglistviewonItemClicklistview

有人可以指导我写一些代码,还有一点描述吗?

这是我的一些代码:

主要活动代码:

        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
         // getting values from selected ListItem
            String title = ((TextView)  view.findViewById
             (R.id.title)).getText().toString();
            String artist = ((TextView) view.findViewById
               (R.id.artist)).getText().toString();
            String duration = ((TextView) view.findViewById
              (R.id.duration)).getText().toString();
            String image=((ImageView)view.findViewById
             (R.id.list_image)).getImageMatrix().toString();
            //byte[] array=null;
            //Bitmap bMap = BitmapFactory.decodeByteArray
                     //  (array, 0, array.length);


            // Starting new intent
            Intent in = new Intent
                     (getApplicationContext(),        SingleMenuItemActivity.class);
            in.putExtra(KEY_TITLE, title);
            in.putExtra(KEY_ARTIST, artist);
            in.putExtra(KEY_DURATION, duration);
            in.putExtra(KEY_THUMB_URL, image);
            startActivity(in);

        }
    });     
 }  
     }

    SingleMenuItemActivity Code:-

    public class SingleMenuItemActivity  extends Activity {

// XML node keys
private static final String KEY_TITLE = "title";
private static final String KEY_ARTIST = "artist";
private static final String KEY_DURATION = "duration";
private static final String KEY_THUMB_URL = "thumb_url";
@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.single_list_item);

    // getting intent data
    Intent in = getIntent();

    // Get XML values from previous intent

    String title = in.getStringExtra(KEY_TITLE);
    String artist = in.getStringExtra(KEY_ARTIST);
    String duration = in.getStringExtra(KEY_DURATION);
    String image = in.getStringExtra(KEY_THUMB_URL);

    // Displaying all values on the screen
    TextView lblName = (TextView) findViewById(R.id.name_label);
    TextView lblCost = (TextView) findViewById(R.id.email_label);
    TextView lblDesc = (TextView) findViewById(R.id.mobile_label);
    ImageView lblImage = (ImageView) findViewById(R.id.image_label);   


    lblName.setText(title);
    lblCost.setText(artist);
    lblDesc.setText(duration);
        //Getting error in below line
        //the method setImageResource(int) is the type 
        //Image View is not applicable for the argument(string)
    lblImage.setImageResource(image);//(R.drawable.rihanna);

    }

}
4

3 回答 3

0
 in.putExtra(KEY_IMAGE, image);

其中图像是 byte[] ..任何图像都可以转换为 bytearray.. 并且在检索时

Bitmap bMap = BitmapFactory.decodeByteArray(array, 0, array.length);

`

于 2012-09-25T09:26:47.163 回答
0

您不必通过 传递图像Bundle,而是传递image path as String data和 在每个活动中,无论您需要图像,从该图像路径创建图像。

于 2012-09-25T09:24:45.250 回答
0

将此图像转换为位图并使用 Intent.putExtra() 将其作为捆绑包传递给下一个活动。

于 2012-09-25T09:24:30.590 回答