Android从文本文件中获取图像路径

时间:2018-10-24 03:52:46

标签: java android arrays image text-files

我的资产文件夹中有一个文本文件,其中包含类似插座的详细信息:

麦当劳|麦当劳的任何店铺|适用于任何午餐套餐|买一送一| 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,但是图像仍然无法显示。我做错什么了吗?在线上的许多消息来源都没有提到我在做什么。

图像和文本文件位置

Image and text file loacation

2 个答案:

答案 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]));