Android ImageView的AssetManager和InputStream

Android ImageView的AssetManager和InputStream,android,android-imageview,Android,Android Imageview,这是函数中为ImageView指定图像的部分。我无法让它显示图像。我把我的文件列在资产/标志/“图像名称”下。这段代码直接来自我的教科书,并做了一些小的调整以适应我的代码。我感谢你的帮助 String nextImage = signNames.remove(0); AssetManager assets = getAssets(); InputStream stream; try{ stream = assets.open("signs/"+nextImage + "

这是函数中为ImageView指定图像的部分。我无法让它显示图像。我把我的文件列在资产/标志/“图像名称”下。这段代码直接来自我的教科书,并做了一些小的调整以适应我的代码。我感谢你的帮助

String nextImage = signNames.remove(0);
AssetManager assets = getAssets();
InputStream stream;
    try{
         stream = assets.open("signs/"+nextImage + ".gif");
         Drawable sign = Drawable.createFromStream(stream,nextImage +".gif" );
         signImageView.setImageDrawable(sign);
    }
    catch(IOException e){
         Log.e(TAG, "Error loading " +nextImage, e);
    }

我认为有一个更简单的成语来形容你正在做的事情。无需流式传输要显示的图像。只需将图像放入
res/drawable
(或
res/drawable hdpi
等)。然后简单地说:

 signImageView.setImageResource(R.drawable.myImage)
如果需要从动态字符串获取资源,请执行以下操作:

int id = getResources().getIdentifier("yourpackagename:drawable/" + nextImage, null, null);
signImageView.setImageResource(R.drawable.myImage)


这假设您的signImageView确实是一个
ImageView

您的signImageView确实是一个ImageView?您必须使用电影类的帮助在图像视图中播放gif。这里的链接是,它是一个ImageView。我试着把它们改成jpeg格式,但还是没有。我尝试了:int id=getResources().getIdentifier(“yourpackagename:drawable/”+nextImage,null,null);signImageView.setImageResource(id);什么也没有