【问题标题】:Adding items to TokenAutoComplete Android将项目添加到 TokenAutoComplete Android
【发布时间】:2014-09-21 12:15:36
【问题描述】:

我正在使用 TokenAutoComplete 库将 Gmail 样式的芯片添加到我的文本字段中。一切正常。唯一的问题是我想在加载 UI 时将项目添加到我的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,以便看起来我是通过使用键盘添加它们的?

【问题讨论】:

    标签: android-edittext textview autocompletetextview tokenautocomplete android-chips android


    【解决方案1】:

    我在TokenAutoComplete github documentation 上找到了我的问题的解决方案。我不知道我以前是怎么错过的,但我终于找到了。 :)

    对于遇到相同问题的任何人,我建议您使用addObject() 方法将项目添加到ChipTextView。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      • 2014-04-02
      • 2017-02-02
      • 2017-01-17
      相关资源
      最近更新 更多