【问题标题】:ImageView with Russian web URL带有俄罗斯网址的 ImageView
【发布时间】:2017-04-14 00:42:56
【问题描述】:

ImageView 不显示带有俄罗斯字母 URL 的图像。 尝试了 URLEncode,但仍然不起作用/在项目中使用了 Fresco

 String norm = "http://www.rts-tender.ru/Portals/0/EasyDNNNews/1523/1523риадагестан.jpg";

 for(int j = 0; j < 32; j++){ 
try { 
          s = s.replace(""+((char)('а'+j)),""+URLEncoder.encode(""+  ((char)‌​('а'+j)),encoding)); 
} 
  catch (Exception e) { 
     e.printStackTrace(); 
   } 
}

 viewHolder.imagePreview.setImageURI(Uri.parse(norm));

【问题讨论】:

  • 我假设您的 question 类似于 如何处理 URI 中的俄语字母。究竟会发生什么?您是如何尝试使用 URLEncode 的?
  • 我可以显示带有英文 URL 的图像。但是俄语,即使使用 URLEncode 也不起作用
  • for(int j = 0; j
  • 请更新您的问题以包含此信息(并将其格式化为代码,以便人们可以阅读)。
  • 您的网址一开始就不起作用。在浏览器中尝试。

标签: java android imageview


【解决方案1】:

那是因为ImageView 不支持远程内容。您需要下载图片,或使用 Glide 或 Picasso 为您下载。

在我的项目中使用了 Fresco,对不起,我忘记了。

然后它闻起来像 Fresco 的错误,因为图像的源与 ImageView 完全无关。

在这种情况下,这里有一个更有用的链接:https://github.com/facebook/fresco/issues

【讨论】:

  • 我可以显示带有英文 URL 的图像。但是俄语,即使使用 URLEncode 也不起作用
  • 在我的项目中使用了 Fresco,对不起,我忘记了。
【解决方案2】:

试试:

String norm = "http://www.rtstender.ru/Portals/0/EasyDNNNews/1523/1523риадагестан.jpg";
URLEncoder.encode(norm, HTTP.UTF-8);
viewHolder.imagePreview.setImageURI(Uri.parse(norm));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    相关资源
    最近更新 更多