20

助けてください。私はもう試した :

ImageButton imgbt=(ImageButton)findViewById(R.id.imgbutton);
Uri imgUri=Uri.parse("/data/data/MYFOLDER/myimage.png");
imgbt.setImageUri(imgUri);

しかし、私は何も見ませんでした。単に無効ボタンです。

4

7 に答える 7

18

ImageView.setImageUri は、ネットワーク上の画像への URL ではなく、ローカル ディスク ファイルへの参照など、ローカル Uri に対してのみ機能します。

ネットワークからビットマップを取得する方法の例を次に示します。

    private Bitmap getImageBitmap(String url) {
        Bitmap bm = null;
        try {
            URL aURL = new URL(url);
            URLConnection conn = aURL.openConnection();
            conn.connect();
            InputStream is = conn.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);
            bm = BitmapFactory.decodeStream(bis);
            bis.close();
            is.close();
       } catch (IOException e) {
           Log.e(TAG, "Error getting bitmap", e);
       }
       return bm;
    } 

getImageBitmap() からビットマップを取得したら、次を使用します: imgView.setImageBitmap(bm);

于 2012-02-06T12:02:33.943 に答える
8

そのはず

Uri imgUri=Uri.parse("file:///data/data/MYFOLDER/myimage.png");

于 2010-10-06T08:59:52.047 に答える
4

これはどう:

Bitmap bitmap = BitmapFactory.decodeFile(fullFileName);
imgProfileImage.setImageBitmap(bitmap);
于 2014-08-22T22:10:18.410 に答える
2

手でパスを作成するのを避けるのが最善です。試してください:

imgbt.setImageUri(Uri.fromFile(new File("/data/data/....")));
于 2015-08-12T07:20:17.803 に答える
0
 String imgPath = Environment.getDataDirectory() + "/data/com.wariyum.signage/files/"+ "221215-085656.619.72.jpg";

    //Following lines was expected work, but don't really show up image always - no idea why
    //imgZoom.setImageURI(Uri.parse(imgPath)); 

    //following works always perfectly
            File imgFile = new  File(imgPath);
            if(imgFile.exists()){
                Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
                imgZoom.setImageBitmap(myBitmap);
            }
于 2016-01-20T07:51:57.120 に答える