Отображение нарисованного в текстовом представлении рядом с текстом

У меня есть пользовательская реализация смайликов для предстоящего приложения. Я хочу, чтобы пользователь выбрал смайлик, который затем будет вставлен в текст редактирования, и он может добавить больше текста по своему вкусу. Когда пользователь нажимает кнопку, я хочу добавить содержимое текста редактирования в ArrayList, который будет передан адаптеру для отображения в элементе списка просмотра текста. Изначально это была моя реализация.

private ArrayList<Spanned> chats;
private EditText content;
-------
Spanned sp = content.getText();                 
chats.add(String.valueOf(sp));
content.setText("");                    
mAdapter.notifyDataSetChanged();

А затем в классе адаптера это, как я отобразил содержимое.

private ArrayList<Spanned> comments;
-------

public View getView(final int position, View convertView, ViewGroup parent){

    View v = convertView;
    if (v == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = inflater.inflate(R.layout.chatlist_item, null);         
    }

    final Spanned item = comments.get(position);
    TextView fans_image = (TextView) v.findViewById(R.id.item_text);
    fans_image.setText(item);

    -------
}

Вышеуказанная реализация работала нормально. Но теперь я хочу, чтобы у ArrayList были элементы String вместо Spanned. Я пытаюсь следующую реализацию. В моей деятельности:

private ArrayList<String> chats;
------
Spanned sp = content.getText();                 
chats.add(String.valueOf(sp));
content.setText("");                    
mAdapter.notifyDataSetChanged();

И в адаптере:

private ArrayList<String> comments;
--------
public View getView(final int position, View convertView, ViewGroup parent){

    View v = convertView;
    if (v == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = inflater.inflate(R.layout.chatlist_item, null);         
    }

    final Spanned item = Html.fromHtml(comments.get(position));

    TextView fans_image = (TextView) v.findViewById(R.id.item_text);
    fans_image.setText(item);

    return v; 
}

Это не работает. Вместо этого текст отображается правильно, но нарисованный смайлик заменяется текстом, похожим на :obj:, Как я могу отобразить рисунок рядом с текстом?

0 ответов

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