我正在使用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
添加项目,以便我似乎使用键盘添加它们?
答案 0 :(得分:3)
我在TokenAutoComplete github documentation找到了问题的解决方案。我不知道我之前是怎么想的,但我终于找到了它。 :)
对于遇到相同问题的任何人,我建议您使用addObject()
方法将项目添加到ChipTextView
。