我的 Assets 文件夹中有一个文本文件,其中包含 socket 的详细信息,例如:
麦当劳 |任何一家麦当劳分店|适用于任何午餐套餐|买1送1| 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,但图像仍然无法显示。我做错了什么吗?许多在线资源都没有提到我在做什么。
图像和文本文件位置
最佳答案
您还需要通过 getAssets()
打开图像文件。
尝试如下
InputStream inStream= getAssets().open(foodInfo[7]);
Drawable drw = Drawable.createFromStream(inStream, null);
img.setImageDrawable(drw);
inStream.close();
Assuming that your
foodInfo[7]
gives you the name "icon_nandos.png"
关于java - Android 从文本文件中获取图像路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52960853/