编程语言
首页 > 编程语言> > java – 将预定义值设置为MultiAutoCompleteTextView:Android

java – 将预定义值设置为MultiAutoCompleteTextView:Android

作者:互联网

我必须为MultiAutoCompleteTextView设置一些预定义的值(在我从建议下拉列表中选择之前).就好像,就像你从下拉列表中选择了2-3个项目一样.设置这些预定义值后,我再次希望从列表继续正常的过滤过程并将其添加到MultiAutoCompleteTextView.

它看起来像这样

Predefined1, Predefined2, Predefined3,  

如果我像使用TextView或EditText一样使用setText(…),并使用逗号分隔值,则将其视为1个整字并在末尾添加逗号.

请建议我如何实施它.

编辑:

好的.让我详细解释一下.我试图在thisthis中实现.但是,另外一个要求是,除了从建议下拉菜单中选择值,我还需要在显示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