Добавление элементов в Android TokenAutoComplete

Я использую библиотеку TokenAutoComplete для добавления фишек стиля Gmail в мое текстовое поле. Все работает нормально. Единственная проблема заключается в том, что я хочу добавить элементы в мой ChipTextView когда пользовательский интерфейс загружен, но я не могу найти способ сделать это. Вместо этого все элементы, которые я добавляю в адаптер, отображаются в качестве предложения.

Мой класс ChipTextView:

public class ChipTextView extends TokenCompleteTextView {

    public ChipTextView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
    }

    public ChipTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }

    public ChipTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

    @Override
    protected Object defaultObject(String text) {
        return text;
    }

    @Override
    protected View getViewForObject(Object text) {
        String hashtag = (String) text;
        LayoutInflater l = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout view = (LinearLayout) l.inflate(R.layout.chiptextview_item,
                (ViewGroup) ChipTextView.this.getParent(), false);
        ((TextView) view.findViewById(R.id.tv_text)).setText(hashtag);

        return view;
    }
}

Мой фрагмент Откуда я настраиваю ChipTextView:

ArrayList<String> list=new ArrayList<>();
list.add("hello");
list.add("hi");
list.add("how");

ChipTextView  tv_chipview=(ChipTextView ) parentView.findViewById(R.id.tv_chipview);
 ArrayAdapter<String> mAdapter;
mAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,list);
tv_chipview.setAdapter(mAdapter);
tv_chipview.allowDuplicates(false);
tv_chipview.setDeletionStyle(TokenDeleteStyle.Clear);

Вот как это показано, когда я добавляю элементы в адаптер, используя код Изображение после настройки моего интерфейса

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

Как это выглядит, если я добавляю элементы вручную с помощью клавиатуры

Как я могу добавить предметы в ChipTextView из кода, чтобы казалось, что я добавил их с помощью клавиатуры?

1 ответ

Решение

Я нашел решение моей проблемы в документации по TokenAutoComplete github. Я не знаю, как я пропустил это раньше, но я наконец нашел это.:)

Для тех, кто столкнулся с той же проблемой, я предлагаю вам использовать addObject() метод добавления предметов в ChipTextView,