如何从ImageView(ANDROID)获取文件名

如何从ImageView(ANDROID)获取文件名,android,imageview,filenames,shuffle,Android,Imageview,Filenames,Shuffle,我想获取无序图像视图的文件名 private List<Drawable> images_; images_ = new ArrayList<Drawable>(); images_.clear(); images_.add(getResources().getDrawable(R.drawable.img1)); images_.add(getResources().getDrawable(R.drawable.img2));

我想获取无序图像视图的文件名

    private List<Drawable> images_;
    images_ = new ArrayList<Drawable>();
    images_.clear();

    images_.add(getResources().getDrawable(R.drawable.img1));
    images_.add(getResources().getDrawable(R.drawable.img2));
    images_.add(getResources().getDrawable(R.drawable.img3));
    images_.add(getResources().getDrawable(R.drawable.img4));

    Collections.shuffle(images_); 

    ImageView img_1 = (ImageView)findViewById(R.id.img_1);   
    img_1.setBackgroundDrawable(images_.get(0));
private-List-images;
图像=新的ArrayList();
图像清除();
images.add(getResources().getDrawable(R.drawable.img1));
image.add(getResources().getDrawable(R.drawable.img2));
images.add(getResources().getDrawable(R.drawable.img3));
images.add(getResources().getDrawable(R.drawable.img4));
集合。洗牌(图像);
ImageView img_1=(ImageView)findViewById(R.id.img_1);
img_1.可设置背景(images_.get(0));

如何知道在此ImageView(img_1)中设置了什么图像名称?

尝试此操作以从ImageView获取文件名:

ImageView iv = new ImageView(MainActivity.this);
String path = f.getAbsolutePath();                 
iv.setImageBitmap(BitmapFactory.decodeFile(path));
iv.setTag(path);
正在检索路径:

String path = (String) iv.getTag();

根据Android开发者网站,ImageView是从Android.view.view继承而来的。因此,您可以使用getResources()获取资源对象,然后使用getAssets()获取AssetManager

我在工作,所以我现在不能提供例子。很抱歉不过我希望这能有所帮助

快乐编码!:)

使用
setImageResource(resID)
而不是
setBackgroundDrawable
。现在,您可以使用
setId(resID)
方法将图像的id获取为相同的resID。要获取图像名称,请使用以下方法

getResources().getResourceName(urImage.getId());


ArrayList<Integer> list = new ArrayList<Integer>() {{
    add(R.drawable.img1);
    add(R.drawable.img2);
    add(R.drawable.img3);
}}
Collections.shuffle(list);
ImageView img_1 = (ImageView)findViewById(R.id.urimageId);   
img_1.setImageResource(list.get(0));
img_1.setTag(list.get(0));

这是您的文件路径,但它已被洗牌。。如何知道正确的文件路径名,我不知道图像是什么,因为我有12个ImageView和20个图像。图像被洗牌,我只得到12个位置(图像)…你能告诉我一个如何做的例子。。因为我必须使用图像作为参考,以及如何从图像中获取ID。get(0)?为了解释我的想法,我认为图像是香蕉、菠萝、草莓、苹果等水果。。。我知道这些名称,但当它乱序时,我丢失了对图像的引用,我需要知道该图像的位置0上的frui是什么。\uGet(0)还是图像\uGet(1)…工作正常!非常感谢。
getResources().getResourceName((Integer)img_1.getTag());