【问题标题】:How to enable suggestions in an edittext programmatically?如何以编程方式在编辑文本中启用建议?
【发布时间】:2015-08-24 10:04:54
【问题描述】:

当使用达到特定字符限制时,我已禁用 EditText 上的建议

mEditQuestionBox.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

但是,如果用户要按退格键并再次键入,我需要返回建议功能。帮忙?

基本上归结为这一点。是否有可用于再次启用建议的 InputType?如果没有,谁能想到解决方法?

【问题讨论】:

  • InputType.TYPE_CLASS_TEXT 重新提出建议!

标签: android android-edittext


【解决方案1】:

在EditText的addTextChangeListener中根据需要实现onTextChanged()。

mEditQuestionBox.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if(s.length()< threshold){
                mEditQuestionBox.setInputType(InputType. TYPE_CLASS_TEXT);
            }
            if(s.length()>= threshold){
                mEditQuestionBox.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
            }
        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });

【讨论】:

  • 很抱歉,我只需要建议回来。这有什么帮助?
  • 在 onTextChanged 中测量 CharSequence "s" 的长度,如果它小于您之前设置的限制,则删除您放置的标志。等等,把编辑后的版本放上去
  • 这是个问题,一旦我设置了标志,我该如何移除它。
  • 自动完成标志不会带回建议。你能想到别的吗?
  • 试试 InputType.TYPE_CLASS_TEXT,如果这不起作用可能使用 AutoCompleteTextView 它会提供更好的控制。
猜你喜欢
  • 1970-01-01
  • 2014-01-18
  • 1970-01-01
  • 2012-06-07
  • 2013-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
相关资源
最近更新 更多