如何从android中的ListView适配器隐藏默认键盘

时间:2012-11-24 13:01:02

标签: android listview android-edittext hide android-softkeyboard

我正在使用ListViewAdapter在我的主页上绑定ListView和一个自定义键盘。但是当我点击EditText时,会显示默认键盘。

我尝试使用以下代码隐藏它:

InputMethodManager mgr = (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);
                    mgr.hideSoftInputFromWindow(diesel.getWindowToken(), 0);

activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

但它没有用。

如何从ListViewAdapter中隐藏默认键盘?

3 个答案:

答案 0 :(得分:5)

最后我明白了。我解决了这个问题。 刚刚在ListViewAdapter中添加了以下行。

(EditTextName).setInputType(0);

现在它不会在EditText上打开默认键盘单击或触摸。

答案 1 :(得分:3)

适配器不是任何 UI相关活动的正确位置。

答案 2 :(得分:1)

如果要在点击按钮等事件上隐藏键盘,请使用此

public void onClick(View v)
{
     InputMethodManager imm = (InputMethodManager) v.getContext()
                        .getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}