Android ImageView установлен на локальный URL не работает? - PullRequest
0 голосов
/ 23 февраля 2011

Итак, я новичок в Android, но я не понимаю, почему это не работает (и как заставить его работать):

ImageView i = (ImageView) findViewById(R.id.image_to_display);
Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM);
i.setImageURI(uri)

Я сделал тост и убедился, что uri.toString () возвращает URL-адрес, такой как content://... Я также уверен, что i является действительной ссылкой, потому что я успешно могу установить его для локальных изображений, которые являются частью .apk.

Так почему бы это не сработало, и как я могу заставить его работать?

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 февраля 2011

Если вы не хотите, чтобы это был Uri, вы могли бы сделать что-то вроде этого.

String fullpath = Environment.getExternalStorageDirectory() + "/pathtoyourfile"

        // take the path create a bitmap and populate the ImageView with it.
        ImageView iv = (ImageView) v.findViewById(R.id.thumbnail);
        Bitmap bm = BitmapFactory.decodeFile(fullpath);
        iv.setImageBitmap(bm);
0 голосов
/ 24 февраля 2011

Попробуйте загрузить его самостоятельно, а затем передать:

ContentResolver cr = getContentResolver();
InputStream in = cr.openInputStream(uri);
Bitmap bitmap = BitmapFactory.decodeStream(in);

if (bitmap != null) {
    i.setImageBitmap(bitmap);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...