点击自动完成编辑框建议时隐藏软键盘

3

使用适配器时,可以使用OnSetTouchListner、OnClick等事件监听器。通过adapter.onsettouchlistner方法调用hidesoftkeyboard函数,该函数正常工作。 - Sajal Mittal
1
尝试的解决方案:https://dev59.com/n2Ag5IYBdhLWcg3wLYWI - Sajal Mittal
2个回答

5

对我来说它是有效的,我只需将

这个:

in.hideSoftInputFromWindow(arg1.getWindowToken(), 0);

替换为:

in.hideSoftInputFromWindow(arg1.getApplicationWindowToken(), 0);


请不要在多个问题中发布完全相同的答案:它可能不适用于所有问题,或者这些问题是重复的,应该被标记/关闭。 - kleopatra
感谢@Shylendra的建议。我会尝试您的解决方案并回复您。 - Sajal Mittal

1

如果你点击自动完成功能中的一个建议并想要隐藏软键盘...你需要在所选的自动完成选项上实现一个onClickListener,以便在点击该选项后立即隐藏软键盘。

创建一个autocompleteTextView的实例

AutoCompleteTextView text = (AutoCompleteTextView) findViewById(R.id.resource);

实现 onClicklistener,使用InputManager隐藏软键盘。

text.setOnItemClickListener(new OnItemClickListener() {

  @Override
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    in.hideSoftInputFromWindow(arg1.getWindowToken(), 0);

  }

});

希望这有所帮助!

你好 AniV,我们需要创建 AutocompleteTextView 实例(主 TextView)或用于项目列表的 TextView(TextView check = (TextView)findViewById(R.id.resource)),如下所示在 XML 文件中。请参考问题中发布的链接。 - Sajal Mittal
嗨AniV,我尝试了你的解决方案,但它不起作用。让我再告诉你问题。每当您在autocompletetextview中键入任何内容时,它都会显示建议列表,我希望每当我触摸任何建议时,软键盘都会隐藏。 - Sajal Mittal
textView = (AutoCompleteTextView)findViewById(R.id.destination); textView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); in.hideSoftInputFromWindow(arg1.getWindowToken(), 0); } }); - Sajal Mittal
以上代码展示了你的解决方案在onCreate()方法中的实现。 - Sajal Mittal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接