我有一个 ImageView
,我想获取图像的路径并添加到一个 String
中。我想这样做是因为我需要将它像默认图像一样发送到我的网络服务
我该怎么做?
ImageView
<ImageView
android:id="@+id/ivPerfil"
android:padding="5dp"
android:layout_width="120dp"
android:layout_height="120dp"
android:src="@drawable/icon_usuario"
android:scaleType="fitXY"
/>
获取路径
ivPerfil = (ImageView)findViewById(R.id.ivPerfil);
Drawable img = getResources().getDrawable(R.drawable.icon_usuario);
String pathImage = img.toString();
最佳答案
您不能直接获取 ImageView
引用的图像的路径,但有一些方法可以绕过它。
既然你在设置它的时候清楚地知道图像的路径(因为你不知道它就无法设置它),你可以选择设置View's
标签(它可以技术上可以是任何 Object
)。
在本例中,它只是一个您要存储的 String
。
假设您有:
Uri imageFilePath = Uri.parse("some/path/to/file.png");
现在,在 ImageView
上设置图像 Uri 时,在设置其标签后添加:
imageView.setTag(imageFilePath.toString());
然后,当您真正要将它发送到服务器时,只需调用 ImageView
上的 getTag()
方法,您就会得到正确的文件位置。
例如
String path = imageView.getTag().toString();
但是,如果图像来自您的 Assets ,则您将必须从资源构建适当的路径(请参阅本页上 miselking 的回答以了解如何执行此操作)。
关于android - 从 ImageView 获取图像路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28505123/