我有一个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控件,这意味着我想知道哪个itemSpans [x]当前是在EditText中绘制的,而不是检查它的ImageView。
我希望做类似的事情:
if (itemSpans[x].getDrawable().equals(R.Drawable.Smiley)
{
Icon=":-)";
}
if (itemSpans[x].getDrawable().equals(R.Drawable.Sad)
{
Icon=":-(";
}
依旧......
同样,itemSpans[x].getDrawable()
数组包含用户键入后当前存在于EditText中的图像资源(来自R.Drawable.xxxx
的图标)。我只是不知道如何从R.drawable.xxxx
获取itemSpans[x]
资源名称,以便像我上面提到的那样比较它们。