gpt4 book ai didi

android - AnySoftKeyboard 在我隐藏它之后保留垃圾数据

转载 作者:行者123 更新时间:2023-11-29 02:10:34 25 4
gpt4 key购买 nike

我有一个问题,只有在我使用 AnySoftKeyboard 时才会出现。我正在尝试根据 EditText 焦点显示/隐藏键盘。我使用了在 this post 中找到的方法

当我隐藏键盘时,有一个奇怪的行为 -

  • 当我旋转屏幕时,EditText 中的文本加倍。
  • 我认为它与 onCreate 方法有关,但我可以看到当我单击“后退”(Finish()) 时它也会发生。在 Activity 关闭之前我看到它一瞬间。
  • 当我开始一个新 Activity 时,(ActivityA 中的 ActivityB)然后单击“后退”一次不会执行任何操作(可能“关闭”不可见的键盘)。
  • 当我再次点击“后退”时,ActivityB 关闭,但我可以在一瞬间看到来自 ActivityA 键盘的文本在屏幕上以大字体显示(就像一个 100 毫秒的弹出窗口)

有没有人知道如何处理它?<​​/p>

最佳答案

显然这是 AnySoftKeyboard 中的一个错误。我使用其他键盘时没有发生。

我通过在隐藏它之前对 EditText View 执行 setText 来解决它 - 它可能会重置键盘对象上的一些东西。

这是我的代码:

        View view = getWindow().getCurrentFocus();
if (view==null)
return;

IBinder binder = view.getWindowToken();
if (binder == null)
return;

// I used this to fix the strange behaviour
if (view instanceof EditText)
((EditText)view).setText(((EditText)view).getText().toString());


InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(binder, InputMethodManager.HIDE_NOT_ALWAYS);

令人惊讶的是它有效!

关于android - AnySoftKeyboard 在我隐藏它之后保留垃圾数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7716351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com