隐藏软键盘时延迟



在我的Activity中,我有一个带有下拉列表的AutoCompleteTextView。当用户选择项目时,将启动新Activity。由于我在接下来的Activity中有很多东西,因此在开始之前大约有 0.5-1 秒的延迟。我试图在选择项目后立即隐藏软键盘:

   actvActionSearch.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapter, View v,
                int position, long id) {
imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(actvActionSearch.getWindowToken(), 0);
             //do stuff to prepare and start next Activity
        }
    });

但是,软键盘在下一个Activity启动的同时被隐藏。这种延迟从何而来?隐藏键盘是我做的第一件事

请注意您如何获得InputMethodManager作为系统服务?

这意味着您对hideSoftInputFromWindow的调用是在系统Service上执行的,这意味着它始终在应用程序一侧的后台运行,这意味着当您隐藏键盘时,它实际上会并行运行,因为您的应用程序正在执行活动创建。

相关内容

  • 没有找到相关文章

最新更新