当前位置: 首页 > 面试题库 >

将图像放在ListView上时,“ resolveUri在错误的位图uri上失败”

曾永新
2023-03-14
问题内容

嘿,我是android新手,我有一个小问题。我正在尝试将列表视图与图像一起通过URL加载。到目前为止,该方法仍然有效,但是图像不会显示。logcat这样说:

02-23 19:20:48.447: INFO/System.out(833): resolveUri failed on bad bitmap uri: android.graphics.drawable.BitmapDrawable@405359b0

它显然找不到我的形象,但我不知道为什么。使用R.drawable.icon可以。谁能帮我吗?这是我的消息来源:

public class Main extends Activity {
        private ListView lv_main;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        lv_main = (ListView) findViewById(R.id.listviewmain);

        ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>();

        HashMap<String,String> map;

        map = new HashMap<String, String>();
        map.put("title", "a title goes here");
        map.put("details", "details blaa");
        map.put("cover", String.valueOf(Main.this.LoadImageFromWebOperations("http://www.google.com/intl/en_ALL/images/srpr/logo1w.png"));
        //THIS WORKS FINE: map.put("cover", String.valueOf(R.drawable.icon));
        listItem.add(map);

        map = new HashMap<String, String>();
        map.put("title", "2nd title");
        map.put("details", "more details");
        map.put("cover", String.valueOf(Main.this.LoadImageFromWebOperations("http://www.google.com/images/srpr/nav_logo37.png"));
        //THIS WORKS FINE: map.put("cover", String.valueOf(R.drawable.icon));
        listItem.add(map);

        SimpleAdapter mSchedule = new SimpleAdapter (this.getBaseContext(), listItem, R.layout.listviewitem, new String[] {"cover", "title", "details"}, new int[] {R.id.cover, R.id.title, R.id.details});

        lv_main.setAdapter(mSchedule);
     }

    public Drawable LoadImageFromWebOperations(String url) {
        try
        {
                InputStream is = (InputStream) new URL(url).getContent();
                Drawable d = Drawable.createFromStream(is, "src name");
                return d;
        }catch (Exception e) {
                System.out.println("Exc="+e);
                return null;
        }
    }
}

提前致谢。抢


问题答案:

我已经解决了这个问题。我正在使用代码来解决问题。

这里的“路径”是可以使用的本地文件系统路径:
Environment.getExternalStorageDirectory()。getAbsolutePath()

public static String loadImageFromWebOperations(String url, String path) {
    try {
        InputStream is = (InputStream) new URL(url).getContent();

        System.out.println(path);
        File f = new File(path);

        f.createNewFile();
        FileOutputStream fos = new FileOutputStream(f);
        try {

            byte[] b = new byte[100];
            int l = 0;
            while ((l = is.read(b)) != -1)
                fos.write(b, 0, l);

        } catch (Exception e) {

        }

        return f.getAbsolutePath();
    } catch (Exception e) {
        System.out.println("Exc=" + e);
        return null;

    }
}

希望这可以帮助 :)。



 类似资料:
  • 我正在尝试加载存储在应用程序文件夹上的图像当我打开活动时,我从logcat收到了这个错误: 1-20 01:30:40.125 14331-14331/mx.eusaga。af W/ImageView:无法打开内容:content://mx.eusaga.af.fileprovider/imagenes/1-db384fa8-f28b-4595-abbf-d45d38fd4036.jpgjava.

  • 我有一个无法解决的问题... 我有一个自定义的imageview,它会根据更大的尺寸改变大小——包含该视图的布局的宽度或高度。它的工作方式总是适合布局。 它的布局是这样的: 我正在努力实现的是,我有尺寸为1000x1000px的原始地图。在这张地图上,我有一些点。我必须在Android上显示这张地图,并在与原始地图相同的点上添加其他视图。 所以举个例子: > 原始地图为1000x1000px 我用

  • 问题内容: 如何将图像放在特定位置的现有PDF文件上。pdf表示一张图纸页。图像将被缩放。我正在检查ReportLab,但找不到答案。谢谢。 问题答案: http://pybrary.net/pyPdf/: 我觉得就像,请参阅手册以获取更好的主意

  • 我有我导出到数据uri图像的HTML画布。现在我想通过点击我页面上的自定义链接,在Facebook时间线上尽可能轻松地分享这张图片(无需创建FB应用程序和身份验证令牌)。 我试过这样的方法: 图像生成: 共享链接: 当我点击链接Safari我得到 如何通过Facebook共享者URL(或其他方式)轻松共享数据uri图像? 谢谢你的回答!

  • 问题内容: 我有一个带有ArrayAdapter的ListView,其中包含带有图像和字符串的行。直到我确定图像的加载速度变慢,这样我才能在显示列表之前无法加载图像,这样效果很好。因此,我开始使用加载图像到单独的线程中AsyncTask。 在开始滚动列表之前,我对结果感到非常满意。加载了错误的图像,看起来好像不是图像稍后出现的问题。如果我尝试对列表进行排序,问题将变得非常严重,并且没有图像在右行。

  • 注意:未定义索引:第33行C:\xampp\htdocs\page1.php中的图片 警告:pathinfo()要求参数2较长,字符串以C:\xampp\htdocs\page1给出。php第35行对不起,只有JPG,JPEG,PNG