android - 放置在 ScrollView 中时如何从 editText 中关闭键盘?

标签 android

我创建了一个登录表单,我必须在其中编辑放置在 ScrollView 中的文本和按钮。当我在编辑文本之外触摸时,我想关闭键盘。我已经实现了一个 scrollview onTouch Listener 来关闭键盘,但我想要的是滚动和关闭键盘。可能吗?下面是代码:

ScrollView sv=(ScrollView) findViewById(R.id.scroll);
sv.setOnTouchListener(new OnTouchListener() {
        
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        InputMethodManager imm = (InputMethodManager) getSystemService( INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
        return true;
    }
});

最佳答案

你正在通过返回

消耗ScrollView的触摸事件
return true;

只返回false

它会将触摸事件传递给父级。

关于android - 放置在 ScrollView 中时如何从 editText 中关闭键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13737561/

相关文章:

android - kapt3 构建生成的错误

Android:对主要 Activity 设置自定义权限 - 不好的做法?

java - 我有两张 Bitmap 格式的图片,我想将一张透明度为 50% 的图片叠加在另一张上

android - 设置/更改更改 Android 中的 WebView 用户代理

android - 访问 Android 声音

java - 将图像文件绘制到 SurfaceView 返回空白

java - Android源码,Java trace,抽象类

android - 如何使用 IntentSpy 来监视 Intent

android - Android 平板电脑的 UI 设计指南

java - 在当前主题中找不到样式 'textInputStyle'