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

麦当劳|麦当劳的任何店铺|适用于任何午餐套餐|买一送一| 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();



  假设您的foodInfo[7]命名为“ icon_nandos.png”

10-06 02:48