【问题标题】:adding another string in autocomplete edit text in android在android的自动完成编辑文本中添加另一个字符串
【发布时间】:2013-06-20 16:04:20
【问题描述】:

大家好,我成功创建了自动完成编辑文本,但我想扩展/添加另一个字符串到现有单词。关于如何做到这一点的任何想法。

就像从下拉菜单中选择一个单词后,我应该能够在输入空格或逗号后添加另一个单词。

【问题讨论】:

  • 为您的AutoCompleteTextView 使用自定义适配器并为AutoCompleteTextView 设置onItemClickListener 并在onItemClick 中附加字符串和setText() 为AutoCompleteTextView
  • 要在逗号后添加多个单词,您应该使用 multiautocompletetextview,使用自定义适配器将项目添加到列表中。如果你想使用 ImageSpan 和 SpannableStringBuilder 让它像泡沫一样
  • 是的,我实现了 onItemClickListener,现在我应该在 SimpleAdapter 扩展类中覆盖哪些方法(getView() 或 setTextView()),一个简短的教程会很有帮助。
  • 我想我必须从 AutoCompleteTextView 扩展并实现方法...我只需要知道按下任意键后控制下拉建议行为的正确方法。

标签: android autocomplete android-edittext


【解决方案1】:

感谢 Muhammed Babar 的建议,这是我对我的问题的回答..

Sms = (MultiAutoCompleteTextView) findViewById(R.id.message);

    quickM = getResources().getStringArray(R.array.quickmessages);

    //SMS message view autocomplete.........
    ArrayAdapter<String> adapterMessage = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, quickM);

    Sms.setAdapter(adapterMessage);
  //Set Tokenizer for SMS editText MultiAutoTextView
    Sms.setTokenizer(new MultiAutoCompleteTextView.Tokenizer() {

        @Override
        public CharSequence terminateToken(CharSequence arg0) {
            // TODO Auto-generated method stub

            return "";
        }

        @Override
        public int findTokenStart(CharSequence arg0, int arg1) {
            // TODO Auto-generated method stub
            return 0;
        }

        @Override
        public int findTokenEnd(CharSequence arg0, int arg1) {
            // TODO Auto-generated method stub
            return 0;
        }
    });

  //Setting Sms edittext onclick listener class
    Sms.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            String name =  (String) arg0.getItemAtPosition(arg2);


            if(Sms.getText().toString().length()==0)
                Sms.setText(name);
                else
                Sms.setText(Sms.getText().toString()+","+name);

        }

    });

【讨论】:

  • 现在我面临的唯一问题是将光标移动到消息框的末尾..?
  • 您好朋友,我已经实现了在文本末尾设置光标的方法,但是在末尾输入后不显示建议的文本。它只显示从头开始的建议。
猜你喜欢
  • 2014-03-27
  • 1970-01-01
  • 2015-07-14
  • 1970-01-01
  • 2013-08-31
  • 2017-05-09
  • 1970-01-01
  • 2017-01-06
  • 1970-01-01
相关资源
最近更新 更多