我想获取改组的ImageViews的文件名
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));
如何知道在此ImageView(img_1)中设置了哪些图像名称?
答案 0 :(得分:3)
使用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));
现在要获取图像名称,请执行以下操作。
getResources().getResourceName((Integer)img_1.getTag());
答案 1 :(得分:0)
根据Android开发者网站的说法,ImageView继承自android.view.View。因此,您可以使用getResources()来获取Resources对象,然后使用getAssets()来获取AssetManager。
我在工作,所以我现在无法提供示例。抱歉。我希望这会有所帮助。
快乐的编码! :)
答案 2 :(得分:-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();