从sdcard图像填充listview

时间:2013-12-04 09:27:14

标签: android android-sdcard

我想将sdcard的图片添加到listview。目前,我可以通过按下sdcard上的按钮从我的UI中选择图片。选择图片的实现是:

sendPicture.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        mybyte=null;

        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent, "Select Picture"),1);               
    }
});

此实施的onActivityResult是:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) {
        if (requestCode == 1) {

        currImageURI = data.getData();
        myvariable=getRealPathFromURI(currImageURI);
            try {
                mybyte=fileToByteArray(myvariable);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

我的目标是将“mybyte”(一个byte[]变量)转换为图片并将图片放在listview上。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

通过这样的实现,将byte []转换为Bitmap并将Bitmaps存储在适配器源列表中,您将收到OutOfMemmory错误。最好存储在ArrayList而不是Bitmap中,但是它的路径,你从galery选择位图后从光标获取它,并在CustomAdapter的getView方法中的AsyncTask中加载Bitmap.Google有一个很好的例子说明如何用ImageViews HERE

做一个奇特的ListView