Set predefined values to MultiAutoCompleteTextView : Android [closed]

孤人 提交于 2019-12-06 05:56:31

问题


I have to set some predefined values to MultiAutoCompleteTextView (before I select from suggestion drop down list). It's like, as if you selected 2-3 items from drop-down list. After setting these predefined values, again I want to continue with normal process of filtering from the list and add it to MultiAutoCompleteTextView.

It would look like this

Predefined1, Predefined2, Predefined3,  

If I do setText(...) as you do with TextView or EditText, with some comma separated values, its considering it as 1 whole word and adding a comma at the end.

Please suggest how can I implement it.

Edit :

Okay. Let me explain in detail. I am trying to achieve like in this and this. But, 1 extra requirement from this is that, along with selecting value from suggestion drop down, I also need to set some predefined values when View is displayed and when I write something and press enter/hide keyboard, whatever i wrote should be converted into button text. If it's not possible, any other alternative? Please suggest.

Edit :

These values should be there in view without selecting from drop down. Later, whichever users add from suggestion drop down, those also should be added to list.

It's like setting hint or some text to EditText before user starts typing.

Thanks.


回答1:


Try the following:

   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");


来源:https://stackoverflow.com/questions/18443052/set-predefined-values-to-multiautocompletetextview-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!