隐藏软键盘时延迟

时间:2013-09-07 17:48:05

标签: android android-input-method

在我的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开始。这种延迟来自哪里?隐藏键盘是我执行的第一件事

1 个答案:

答案 0 :(得分:2)

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

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