Как получить имя ресурса из нарисованного изображения?

У меня есть массив типа 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() массив содержит ресурсы изображения (иконки из R.Drawable.xxxx), которые в настоящее время существуют в EditText после того, как пользователь их напечатал. Я просто не знаю, как получить R.drawable.xxxx название ресурса из itemSpans[x] для того, чтобы сравнить их, как я упоминал выше.

0 ответов

Другие вопросы по тегам