我有一个 ImageSpan 类型的数组,其中包含添加到 TextEdit 的图标。它被称为:ImageSpan[] itemSpans;
当我想知道在 EditText 字段中输入了哪个图标时 - 我遍历数组
for (int x = 0; x < itemSpans.length; x++) {
String Icon="";
if (itemSpans[x].getDrawable().equals(MyWinkIconImageView.getDrawable())) {
Icon = ":-)";
}
}
MyWinkIconImageView 是链接到指向资源的 ImageView 控件的变量,例如:R.Drawable.MyIcon
这是如何做到的。哪怕是有点不对。
问题是:我想从 itemSpans[x].getDrawable() 获取可绘制的资源名称,而不是指向 ImageView 控件,这意味着我想知道当前在 EditText 中绘制了哪些 itemSpans[x] 而不是检查它的图像视图。
我想做这样的事情:
if (itemSpans[x].getDrawable().equals(R.Drawable.Smiley)
{
Icon=":-)";
}
if (itemSpans[x].getDrawable().equals(R.Drawable.Sad)
{
Icon=":-(";
}
等等...
同样,该数组包含用户键入后当前存在于 EditText 中itemSpans[x].getDrawable()
的图像资源(来自 的图标)。R.Drawable.xxxx
我只是不知道如何获取R.drawable.xxxx
资源名称itemSpans[x]
以便像我上面提到的那样比较它们。