在android studio中无法打开图像(找不到文件)

时间:2017-06-08 07:20:17

标签: java android android-studio assets resteasy

我正在使用android studio,我在这里有一些照片:..\app\src\main\res\pics

我有这个方法在适配器java类

中打开图像
private Drawable drawImage(String iconString) {
    Log.i(TAG , "icon string = " + iconString) ;
    AssetManager assetManager=ctx.getAssets();
    InputStream inputStream;

    try {
        inputStream=assetManager.open("pics/"+iconString+".png");
        Log.i(TAG , "icon string try = " + iconString) ;
        Drawable drawable=Drawable.createFromStream(inputStream, null);
        return  drawable ;

    } catch (Exception e) {
        e.printStackTrace();
    }
    return  null;

}

我确实调用了这个方法 但是当我构建并运行它时,我收到以下错误:

java.io.FileNotFoundException: pics/ic_payments.png
06-08 10:10:44.577 8002-8002/ ... W/System.err:    
at android.content.res.AssetManager.openAsset(Native Method)

我在这里想念什么?

3 个答案:

答案 0 :(得分:1)

您的代码没问题。检查资产文件夹路径。

<强> SRC-&GT; main-&GT;资产 - &GT; pics-&GT; test.png

enter image description here

答案 1 :(得分:1)

首先创建像这样的资产文件夹。

enter image description here

在资产中创建文件夹pics并将其全部复制到该文件夹​​文件中。

答案 2 :(得分:0)

Android代码“ic_launcher”替换为您的图片名称

1.创建资产文件夹和

创建pics文件夹(在资产文件夹内)

将图像粘贴到pics文件夹

ImageView imageview;

2.Inside of Oncreate

 imageview=(ImageView)findViewById(R.id.imageview);
 imageview.setImageDrawable(drawImage("ic_launcher"));

3,在Oncreate之外

private Drawable drawImage(String iconString) {
    Log.i(TAG , "icon string = " + iconString) ;
    AssetManager assetManager=getAssets();
    InputStream inputStream;

    try {
        inputStream=assetManager.open("pics/"+iconString+".png");
        Log.i(TAG , "icon string try = " + iconString) ;
        Drawable drawable=Drawable.createFromStream(inputStream, null);
        return  drawable ;

    } catch (Exception e) {
        e.printStackTrace();
    }
    return  null;

}