1

我有一个 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]以便像我上面提到的那样比较它们。

4

0 回答 0