我的资产文件夹中有一个文本文件,其中包含类似插座的详细信息:
麦当劳|麦当劳的任何店铺|适用于任何午餐套餐|买一送一| 8月1日至8月31日| RM 32.00 | RM 16.00 | icon_nandos.png
然后我将它们拆分并存储在字符串数组中。但是我无法设置第7个数组项(即icon_nandos.png)中的图片
try{
bufferedReader = new BufferedReader(new
InputStreamReader(this.getAssets().open("food_catalog.txt")));
while ((food = bufferedReader.readLine())!=null) {
if (!food.equals("")) {
String[] foodInfo = food.split("\\|");
tv.setText(foodInfo[0] + "\n" + foodInfo[1] + "\n" + foodInfo[2] + "\n" + foodInfo[3] + "\n" + foodInfo[4] + "\n" + foodInfo[5] + "\n" + foodInfo[6] + "\n" + foodInfo[7] + "\n");
img.setImageBitmap(BitmapFactory.decodeFile(foodInfo[7]));
}
}
}
我尝试了几种设置图像的方法,例如setImageURI,但是图像仍然无法显示。我做错什么了吗?在线上的许多消息来源都没有提到我在做什么。
图像和文本文件位置
答案 0 :(得分:1)
您还需要通过getAssets()
打开图像文件。
尝试如下
InputStream inStream= getAssets().open(foodInfo[7]);
Drawable drw = Drawable.createFromStream(inStream, null);
img.setImageDrawable(drw);
inStream.close();
假设您的
foodInfo[7]
为您命名“ icon_nandos.png”
答案 1 :(得分:0)
我可以通过修整foodInfo [7]来检索图像
使用:
img.setImageBitmap(BitmapFactory.decodeStream(getAssets().open
(foodInfo[7].trim())));
代替
img.setImageBitmap(BitmapFactory.decodeFile(foodInfo[7]));