在AlertDialog中使用onTouchEvent

时间:2013-08-06 09:41:37

标签: android android-activity alertdialog android-softkeyboard ontouchevent

活动状态下,我可以使用以下代码在设备上隐藏 EditText (mEtEmailUser) 自动强烈>触摸设备的屏幕

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        InputMethodManager imm = (InputMethodManager)getSystemService(
                    Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(mEtEmailUser.getWindowToken(), 0);
        }
    }
    return super.onTouchEvent(event);
}

但是在警报对话状态下,我无法使用上述代码来实现我的想法。

因此,我要求在触摸屏幕时使用另一种隐藏软键盘的方法。

p / s:我知道警报对话框适合屏幕,这就是我无法使用onTouchEvent的原因。

请告诉我如何或提醒我另一种方法, 谢谢,

1 个答案:

答案 0 :(得分:1)

您无法在Dialog上处理onTouch

创建一个Activity,在其上和清单文件中实现onTouchListener

<activity android:theme="@android:style/Theme.Dialog">