首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有没有办法防止句点自动输入到EditText中?

是的,可以通过以下几种方式来防止句点自动输入到EditText中:

  1. 使用InputFilter:可以通过设置InputFilter来过滤输入字符。创建一个自定义的InputFilter,在filter方法中判断输入的字符是否为句点,如果是则返回空字符串,否则返回null。然后将该InputFilter应用到EditText中。
代码语言:txt
复制
InputFilter filter = new InputFilter() {
    public CharSequence filter(CharSequence source, int start, int end,
            Spanned dest, int dstart, int dend) {
        if (source.equals(".")) {
            return "";
        }
        return null;
    }
};

editText.setFilters(new InputFilter[] { filter });
  1. 使用TextWatcher:可以通过添加TextWatcher来监听EditText的文本变化,并在onTextChanged方法中判断输入的字符是否为句点,如果是则移除该字符。然后将该TextWatcher应用到EditText中。
代码语言:txt
复制
TextWatcher watcher = new TextWatcher() {
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        if (s.toString().contains(".")) {
            editText.removeTextChangedListener(this);
            editText.setText(s.toString().replace(".", ""));
            editText.setSelection(editText.getText().length());
            editText.addTextChangedListener(this);
        }
    }

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

    public void afterTextChanged(Editable s) {
    }
};

editText.addTextChangedListener(watcher);
  1. 使用IME Options:可以通过设置EditText的IME Options来改变软键盘的行为。将IME Options设置为IME_ACTION_DONE或IME_ACTION_NEXT,这样在输入句点后,点击软键盘的完成或下一步按钮时,句点不会自动输入到EditText中。
代码语言:txt
复制
<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:imeOptions="actionDone"
    android:inputType="text" />

以上是防止句点自动输入到EditText中的几种方法,根据具体需求选择适合的方式即可。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发笔记(一百三十八)文本输入布局TextInputLayout

文本输入布局TextInputLayout TextInputLayout是MaterialDesign库中对编辑框EditText进行增强的一个控件。...这个好坑,既然出现问题,就想办法解决它,解决办法如下所示(以下方案任选其一): 1、在布局文件中给EditText控件设置maxLength属性,指定允许输入字符串的最大长度。...不知大家有没有发现,往编辑框输入文字,手机在竖屏与横屏两种情况下的页面展示是不一样的。...强行把提示文字从编辑框内挪到了编辑框上方,可这种做法没考虑到横屏时候的情况,所以造成横屏反而不显示提示文字的结果。...那么TextInputEditText就是为了让横屏时也要显示提示文字,具体做法是把布局文件中的EditText名称换成“android.support.design.widget.TextInputEditText

2K30
  • Android开发笔记(一百四十六)仿支付宝的支付密码输入框

    然而,计划赶不上变化,开发工作中总有一些现有控件无法直接实现的需求,就像支付宝的支付密码输入框,在一排方格区域内输入并显示密文密码,每个密文字符之间又有竖线分隔。...; 4、密码不显示明文,而是显示密文,比如点号(·)或者星号(*); 5、输完六位密码,应自动触发密码输入完成的事件; 因为支付密码允许一位一位输入,也允许一位一位删除,所以它本质上还是一个编辑框,也就是说...,支付密码的输入框必须实现EditText的功能。...TextView队列的各项文本显示; 上述的改造内容,大部分都有可以直接调用的函数,但有两个功能的实现要特别注意: 首先,对于密文字符,Android默认显示点号(·),可显示星号(*)也很常见,那有没有办法把系统默认的点号替换为星号呢...其次,对于支付密码输入框的焦点获得问题,因为该输入框内部集成了EditText,所以不管是给输入框注册点击事件还是触摸事件,手势焦点都会被内部的EditText所抢占,使得密码输入框反而不会响应点击和触摸事件

    1.9K30

    自定义键盘(二)

    不知道你有没有注意到应用市场上有这样一类app:第三方输入法app,比如讯飞输入法,搜狗输入法; 第三方输入法app:设置完成之后,手机上所有的输入框都会弹出第三方键盘。...安装第三方输入法的手机,可以在设置–高级设置-语言和输入法中找到。—-系统级别的输入法 那么有没有app级别的输入法扩展呢?...如果有的话会让关于键盘的开发变得更加容易,于是,笔者就去下载一些炒股app,它们都是实现了类似app级别的键盘,发现设置中并未找到他们关于键盘的定义。笔者也没有google到关于app级别的键盘。...3.2解决和系统键盘显示冲突 这就需要我们把页面中所有的EditText传递到封装的工具类中,调用这个方法隐藏系统键盘 /** * 隐藏系统键盘 * * @param editText */ public...这就需要我们在我们传递过来的布局文件中添加一个宽高是0的EditText。让用户点击完成的时候,这个EditText获取焦点。

    97520

    高仿Android「填空题」控件:手撸一个炫酷的View动效!

    要求可以和普通TextView一样展示普通的文字,同时又包含可以编辑的部分,类似EditText。如下: ? 看到这个,第一反应就是,这不合理啊,又是展示,又是可编辑,又是换行,没办法实现啊!...这里就涉及到一个文字宽度计算问题 在Android中如何计算文字的宽度呢?...而在绘制文字的过程中,我们可以将可编辑文字段的坐标信息记录下来,那么在点击的时候,就可以判断有没有触摸碰撞,如果有,那么就可以弹出输入法。...通常,需要一个可输入文字的控件时,我们很少自己去定义一个控件,而是直接使用EditText,以至于我们几乎认为只有EditText可以接收输入法输入。...,会通过这个方法将文字传输给控件 4.光标 1)绘制 普通的EditText在输入时,都会有一个光标,用于表示输入或删除的位置。

    1.7K30

    app加固_360加固保手机版

    一、激活成功教程者如何盗取移动支付用户账号密码–防劫持和校验技术 1.界面劫持:在登陆界面上布置一层透明的UI界面,当用户输入密码时是输入在透明UI界面上,获取用户账户密码。...层(系统运行库层) 二、激活成功教程者如何盗取移动支付用户账号密码–自定义键盘 Android软键盘采用了一套统一的通信机制,通过重载BaseInputConnection类方法,可以拦截到输入字符...,EditText类也有类似的监听拦截方法。...关于第三方的加固方案 安卓dalvik虚拟机要求dex文件在内存中以明文形式存在,那么任何加壳方法,到头来到了内存还是明文存在,各种dump方法终究是可以获得它的.那么APP究竟应该如何加固才能防止APP...壳被脱掉后也是有办法阻碍篡改的,关键就在于反二次打包,可以通过在原生层验证签名来实现。

    6.2K30

    TextInputLayout-Android M新控件

    Introduction 同样的,这个控件也是Material Design中的控件。 Google I/O 2015 ,谷歌意识到向后兼容是实现material design的重要部分。...:design:23.1.1' 如果Gradle没有自动询问同步项目,选择build菜单中的Make module ‘app’ ,或者按Ctrl +F9。...一个单一的EditText 在输入文字的时候会隐藏hint,而被包含在TextInputLayout中的EditText则会让hint变成一个在EditText上方的浮动标签。...通过验证输入,你可以防止用户输入无效的邮箱地址或者是太短的密码。如果没有验证,后台可能反馈回不正确的结果呈现给用户。对于用户来说既浪费了时间又体验不好。在发送到后台之前你应该先检查输入的正确性。...不幸的是,如果你不告诉它,安卓不会自动的隐藏虚拟键盘。在onClick方法体中调用hideKeyboard。

    77920

    Android富文本开发

    当前的编辑器已经添加了多个输入文本EditText,现在的问题在于需要记录当前编辑的EditText,在应用样式的时候定位到输入的控件,在编辑器中添加一个变量lastFocusEdit。...有没有办法添加一定的过度效果,让实现的效果显得圆滑呢? LayoutTransition简单介绍 LayoutTransition类实际上Android系统中的一个实用工具类。...addImageViewAtIndex(lastEditIndex + 1, imagePath); ``` 17.键盘弹出和收缩优化 软键盘弹出的时机 如果不做任何处理,系统默认的是,进入页面,第一个输入框自动获取焦点软键盘自动弹出...我们可以在AndroidManifet.xml中对Activity进行设置。stateUnspecified-未指定状态:软件默认采用的交互方式,系统会根据当前界面自动调整软键盘的显示模式。...,会自动将当前布局顶起,保证,软键盘不遮挡当前输入框(正常布局,非scrollView父布局)。

    8.5K20

    android学习笔记----SQLite数据库

    那么新表temp就没了主键,不会自动增长,查看建表语句integer变成了int, char变成text。...(如果数据库还没被创建),数据会添加成功 我们可以把数据库导出到SQLite Expert去查看表内容,也可以直接在控制台查看一个大概,查看数据库和表有没有被创建。...在Terminal或者在系统控制台输入adb shell 然后进行如下操作: ​​​​ 用cd命令进入到/data/data/com.example.createdb2/databases 目录 注意...这个目录中,mydb.db是我们创建的 另一个是mydb.db-journal,这是为了让数据库能够支持事务而产生的临时日志文件,通常情况下这个文件的大小是0字节 接下来输入sqlite3 mydb.db...打开mydb.db数据库 输入.table命令查看数据库中有哪些表,这个android_metadata是每个数据库中都会自动生成的,不用管。

    1K20

    Android EditText 获得输入焦点 以及requestfocus()失效的问题

    最近做公司项目的时候,经常会遇到一个问题,就是我为某个控件如EditText设置requestfocus()的时候不管用,比如说登陆的时候,我判断下用户输入的密码,如果正确就登陆,错误就提示密码错误,...并且输入框获取焦点,但是实际中确不起作用 package com.example.hfs.requestfocusdemo; import android.content.Intent; import...123456".equals(mPassWord.getText().toString())){ Toast.makeText(this,"密码错误,请重新输入",Toast.LENGTH_SHORT...finish(); } } } 原因 查资料分析了一下,可能是以下问题:  Android加载刷新UI的时候,是从左到右,从上到下的顺序,正在加载的过程中,...解决办法 找到原因后就有解决办法了,给他个延迟时间: mPassWord.postDelayed(new Runnable() {   @Override   public void run()

    3K60

    安卓应用安全指南 5.1 创建密码输入界面

    有两种方法可以将EditText显示为密码:在布局 XML 中静态指定此值,或通过从程序中切换显示来动态指定此值。...它有助于防止最后输入的密码被嗅探的风险,即使设备被传递给第三方,比如它被盗时。 仅供参考,在虚拟显示的情况下以及用户尝试输入密码时,应取消虚拟显示,需要变成正常输入状态。...自动登录功能 存在一个功能,可以完成成功登录过程一次后,通过省略下次登录的 ID /密码输入来执行自动登录。自动登录功能可以省去复杂的输入。...所以在这种情况下,与自动登录功能配套的安全措施是必需的。存在一些可能的应对措施,例如【在付款过程等财务流程前需要重新输入密码】,【设置自动登录时,请求用户注意并提示用户锁定设备】等。...此设置影响整个系统,并且它适用于使用EditText的密码显示功能的所有应用。 5.1.3.4 禁用屏幕截图 在密码输入屏幕中,密码可以在屏幕上清晰显示。

    1.2K20

    Android自定义支付密码输入框,光标问题总结!

    前言 在项目中我们常常继承AppCompatEditText或EditText自定义验证码输入框来代替系统输入框,以满足UI设计需求,如: 直线形输入框 方形输入框 | image.png...image.png 本文主要分析自定义验证码输入框过程中常被忽视的光标问题及个人的一点经验总结 onDraw方法一直被调用 我们在onDraw方法中添加Log日志,发现onDraw方法每间隔500ms...左右被调用一次 image.png 此处先给出解决办法: *当我们继承EditText自定义验证码输入框后,EditText自带的光标对我们来说不可见,已经没有意义,因此需要将其隐藏掉,防止onDraw...我们知道invalidate方法会触发页面重绘进而调用onDraw方法,EditText又继承TextView,在TextView源码中搜索invalidate关键字然后加断点调试运行,最后将代码锁定在...中Blink类的run方法每隔500ms会调用TextView中的invalidateCursorPath方法 问题3:如何自定义验证码输入框光标?

    1.4K20

    安卓应用安全指南 六、困难问题

    从你的应用复制到其他应用时采取对策。 首先,让我们讨论上面的对策(1)。 假设用户从其他应用(如记事本,Web 浏览器或邮件应用)复制字符串,然后将其粘贴到你的应用的EditText中。...事实证明,在这种情况下,基本没有对策,来防止由于复制和粘贴而导致的敏感信息泄漏。 由于 Android 中没有功能来控制第三方应用的复制操作。...接下来的讨论是上面的对策(2),假设用户复制应用中显示的敏感信息。 在这种情况下,防止泄漏的有效对策是,禁止来自视图(TextView,EditText等)的复制/剪切操作。...另外,在“6.1.1 示例代码”的决策流程中描述,根据EditText的输入类型(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD...请注意,开发者在应用规则时,还应考虑到应用的可用性。 例如,在用户可以自由输入文本的视图的情况下,如果因输入敏感信息的可能性很小而禁用了复制/剪切,用户可能会感到不便。

    1.2K10

    Android中的权限问题

    在Android程序中,在执行形如访问网络、读取联系人时都要声明权限,在 Android 系统版本小于6.0时,所有的权限只需要在AndroidManifest文件中声明就可以使用对应的功能了。...但是在Android6.0版本以上,Android将权限分为了普通权限和危险权限,其中普通权限的使用和以前的Android版本一样,直接在AndroidManifest文件中声明就行了,系统会自动帮我们授权...@Override public void onClick(View v) { /* * 先判断用户以前有没有对我们的应用程序允许过打电话的权限...我们输入一个号码,点击“拨打”按钮: ? 因为我们是第一次运行这个程序,所以用户以前并没有对我们的程序进行授权,因此出现权限申请对话框,我们点击DENY(否): ?...成功的进入拨打电话的界面并且拨打我们输入的电话号码! 当我们允许了之后,那么程序以后就不需要再经过用户授权了,即可以直接拨打电话(除非用户在应用程序管理中收回了我们的打电话的权限)。

    1.4K30

    Android 千变万化 TextView:神奇的 SpannableString

    文字和表情可以混排,输入框中输入的表情和聊天列表中显示一致,基本功能都实现了。下面就来看下是怎么实现的吧。...1)分析 整个过程可以分成两步,第一步是让输入框 EditText 可以输入表情,第二步是把输入框输入的表情显示到 TextView 上。...enter image description here 6)输入表情 哎,关键的地方来了,怎么把表情输入到 EditText 中呢?...至此,我们算是实现了第一步:在 EditText 中输入表情,接下来就要实现第二步,把输入的表情显示在聊天记录中。...7)把输入的表情显示在聊天列表 我们既然已经把表情输入到 EditText 了,显示到 TextView 还不简单,直接把 SpannableString 设置给 TextView 不就行了吗?

    4.3K20

    关于EditText屏蔽焦点的问题,及为什么clearFocus()方法失效了?

    而这个在日历中却是有用的。...方法肯定有的,现在我们用另一个办法,从源头解决问题: 先上一波方法的解释 XML android:descendantFocusability="blocksDescendants" beforeDescendants...,由一个switch控制,当switch关闭时,editText可以输入,有焦点,否则无法点击,无焦点。...总结一下,也就是我们需要在父布局处添加 触控模式为true,即就是android:focusableInTouchMode="true",这样当清除焦点的时候,就会将焦点赋给父布局,而不是重置到第一个EditText....到了现在,我们可以尝试一下,如果设置第一个输入框focusableInTouchMode为false,那么当你点击了别的输入框,然后点击switch,会发现,焦点会在第二个输入框,而不会在第一个。

    1.2K20

    EditText 使用详解

    本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一、EditText 继承关系 二、EditText 常用举例 三、EditText 自定义背景框...四、EditText自动检测输入内容 五、Edittext 密文显示 六、EditText 限制只能输入特定字符 七、EditText 输入保存的字符串不能为空 一、EditText...四、EditText自动检测输入内容 xml 中使用EditText 控件 EditText android:layout_width="fill_parent" android...:layout_height="wrap_content" android:autoText="true" android:hint="二、自动检测输入更正属性 autoText...七、EditText 输入保存的字符串不能为空 EditText常用来获取用户输入内容,因为我们要规避用户输入的内容为空的情况。 实现效果如下: ? 实现代码如下:

    1.2K10

    安卓入门-第三章-安卓常用控件的使用方式

    现在重新运行一下程序,EditText就已经在界面上显示出来了,并且我们是可以在里面输入内容的  细心的你平时应该会留意到,一些做得比较人性化的软件会在输入框里显示一些提示性的文字,然后一旦用户输入了任何内容...可以看到,EditText中显示了一段提示性文本,然后当我们输入任何内容时,这段文本就会自动消失。  不过,随着输入的内容不断增多,EditText会被不断地拉长。...我们还可以结合使用EditText与Button来完成一些功能,比如通过点击按钮来获取EditText中输入的内容。...重新运行程序,在EditText中输入一段内容,然后点击按钮,效果如下图所示。 ?...**比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。

    1.9K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券