java – 将预定义值设置为MultiAutoCompleteTextView:Android
作者:互联网
我必须为MultiAutoCompleteTextView设置一些预定义的值(在我从建议下拉列表中选择之前).就好像,就像你从下拉列表中选择了2-3个项目一样.设置这些预定义值后,我再次希望从列表继续正常的过滤过程并将其添加到MultiAutoCompleteTextView.
它看起来像这样
Predefined1, Predefined2, Predefined3,
如果我像使用TextView或EditText一样使用setText(…),并使用逗号分隔值,则将其视为1个整字并在末尾添加逗号.
请建议我如何实施它.
编辑:
好的.让我详细解释一下.我试图在this和this中实现.但是,另外一个要求是,除了从建议下拉菜单中选择值,我还需要在显示View时设置一些预定义的值,当我写一些东西并按下回车键时/隐藏键盘,无论我写什么都应该转换成按钮文字.
如果不可能,还有其他选择吗?请建议.
编辑:
这些值应该在视图中,而不从下拉列表中选择.之后,无论用户从建议中添加哪个用户,都应将其添加到列表中.
这就像在用户开始输入之前为EditText设置提示或一些文本.
谢谢.
解决方法:
请尝试以下方法:
ArrayList<String> data=new ArrayList<String>();
data.add("Predefined1");
data.add("Predefined2");
data.add("Predefined3");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, data.toArray());
MultiAutoCompleteTextView textView = (MultiAutoCompleteTextView) findViewById(/*View id*/);
MultiAutoCompleteTextView.CommaTokenizer tokenizer=new MultiAutoCompleteTextView.CommaTokenizer();
textView.setAdapter(adapter);
textView.setTokenizer(tokenizer);
textView.setOnEditorActionListener(new TextView.OnEditorActionListener(){
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
data.add(v.getText().toString());
adapter.notifyDataSetChanged();
return true;
}
return false;
}
});
textView.setText("Predefined1,");
tokenizer.terminateToken("Predefined1");
textView.setText(textView.getText().toString()+"Predefined2,");
tokenizer.terminateToken("Predefined2");
textView.setText(textView.getText().toString()+"Predefined3,");
tokenizer.terminateToken("Predefined3");
标签:android,java,android-widget,autocomplete,custom-controls 来源: https://codeday.me/bug/20190825/1719890.html