使用AsyncTask时软键盘自动显示

时间:2015-11-12 18:00:14

标签: java android android-asynctask

我不知道为什么当我使用AsyncTask将数据加载到适配器时,AsyncTask完成后,屏幕上会显示软键盘。

活动中有Edittext。如果我删除活动上的EditText,则在AsyncTask完成后,软键盘不会显示。

我在onPostExecute()上使用此代码,但它不起作用:

protected void onPostExecute(String[] result) {
        hideSoftKeyboard(SearchActivity.this);
        RecommendAdapter mAdap = new RecommendAdapter(con, mLocation);
        mListview.setAdapter(mAdap);

        if (dialog.isShowing()) {

            dialog.dismiss();
        }

    }
public static void hideSoftKeyboard(Activity activity) {
    InputMethodManager inputMethodManager = (InputMethodManager) activity
            .getSystemService(Activity.INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
}

1 个答案:

答案 0 :(得分:0)

现在我知道了答案。因为我使用它所以它始终关注。将android:focusable="true" android:focusableInTouchMode="true"添加到布局,以便软键盘不显示。