android - 从 ImageView 获取图像路径?

标签 android android-imageview

我有一个 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/

相关文章:

android - 在 Android Studio 中使用自定义名称格式构建发布 apk

android - KSoap2 SoapObject 对象引用未设置为实例

android - android manifest 中的 <permission-tree> 是什么?如何利用这个?

android - ImageView 无法定位在 Layout 中的正确位置

android - 将文本和图像彼此完美对齐

android - SkImageDecoder::factory 返回空

android - Android xml中图片的触摸反馈

java - 将 ImageView 位图设置为返回的位图

php - 如何将视频文件作为 json 数据发送。 (不是文件名或路径而是内容)到 Android

java - fragment 自行重新实例化并添加到 Activity 中