`

TextWatcher 出现 java.lang.StackOverflowError 的解决问题

 
阅读更多

使用TextWatcher 的时候,

class MonthlyQuotaTextWatcher implements TextWatcher{

  @Override
  public void afterTextChanged(Editable s) {
   String str = quotaEditText.getText().toString().trim();
   int length = str.length();
   if(length > 1){
    String st = str.substring(0, 1);
    if( length > 1 && st.equals("0") ){
     quotaEditText.setText("0");
    }
   }
  }

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

  @Override
  public void onTextChanged(CharSequence s, int start, int before,
    int count) {
   
  }

 

  
 }

 

其中  quotaEditText.setText("0");
会出现 java.lang.StackOverflowError 的问题。因为quotaEditText.setText("0");
本身就会回调监听器,】

解决办法:在回调方法afterTextChanged里面加判断条件,例如if(length > 1) if(length > 1) 当满足条件的时候在quotaEditText.setText("0");

分享到:
评论

相关推荐

    textWatcher

    文本观察者(TextWatcher)是Android开发中一个非常重要的接口,用于监听EditText中的文本变化,包括文本内容的插入、删除或替换。它提供了三个方法,分别在文本改变前、改变时和改变后触发,让我们能够实时监控并...

    TextWatcher,自动检索

    在Android开发中,`TextWatcher`是一个非常重要的接口,它用于监听`EditText`中的文本变化。这个接口提供了三种方法,让我们能够捕捉到用户输入时文本的添加、删除和替换操作,从而实现各种实时的交互效果,如自动...

    TextWatcher

    ```java EditText editText = findViewById(R.id.edit_text); editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after)...

    TestCompleteText_AutoCompleteTextView和TextWatcher结合使用

    在Android开发中,AutoCompleteTextView和TextWatcher是两个非常重要的组件,它们可以帮助我们实现丰富的文本输入交互功能。本文将深入探讨这两个组件,并结合实例展示如何将它们结合起来使用,以实现关键词下拉提示...

    EditText实时监听,附带switch控件

    在实际应用中,我们还需要考虑输入验证、错误处理和用户体验优化等问题,确保程序的稳定性和易用性。例如,我们可以添加输入格式检查,确保用户输入的是数字,而不是其他字符。同时,为了防止用户在输入过程中频繁...

    searchMP3.rar

    在Android移动开发中,搜索设备上的特定类型文件是一项常见的任务,比如寻找MP3音乐文件。在给定的"searchMP3.rar"压缩包中,包含了实现这一...在实际项目中,还应注意处理权限问题,确保应用有读取外部存储的权限。

    TextWatcher详解Demo,

    在Android开发中,`TextWatcher` 是一个非常重要的接口,用于监听`EditText`中的文本变化。这个接口提供了三个方法,让我们能够对用户在输入框中输入的每一个字符、删除的每一个字符以及整个文本的更改进行全面的...

    02_date_and_time.rar

    这些组件通常与`TextWatcher`或`OnItemSelectedListener`结合使用,以响应用户的更改。 - 使用`DatePickerDialog`和`TimePickerDialog`为用户提供对话框式的日期和时间选择体验。 6. **日期和时间的小程序示例:**...

    textwatcher实现身份证籍贯信息的自动填充

    在Android开发中,TextWatcher是一个接口,用于监听EditText中的文本变化。它提供了三个方法:beforeTextChanged、onTextChanged和afterTextChanged,分别在文本改变前、改变过程中和改变后触发,为实时处理用户输入...

    Android Form EditText 验证输入合法性的编辑框.zip源码资源下载

    下面我们将详细探讨如何在Android中实现EditText的输入验证,并结合Java和Apache的相关技术来优化这一过程。 首先,我们需要理解EditText的验证机制。在Android中,可以通过设置TextWatcher监听EditText的文本变化...

    搜索历史提示框

    我们可以监听`TextWatcher`的`afterTextChanged()`方法,该方法会在文本改变后调用,适合用于检查新输入的内容。 ```xml android:id="@+id/edit_text_search" android:layout_width="match_parent" android:...

    Android 巧用正则表达式+TextWatcher实时限制用户输入

    一般我们在限制用户输入的时候,都要等到用户在EditText里面输入了文本后,点击某个按钮,再去校验用户的输入是否符合规范。 我介绍个新方法,可以在用户输入不规范的字符后,还没在EditText里显示出来时,就把用户...

    自定义的安卓登陆界面,背景采用渐变式,还有半透明背景框的使用,

    `JavaApk源码说明.txt`可能包含了如何将上述概念应用到实际项目中的详细步骤,而`千万别双击.url`可能是指向更多相关资源或示例代码的链接。`Login`可能是源码文件夹,包含了实现登录界面的类和布局文件。 总的来说...

    使用EditText+ListView并结合TextWatcher实现输入关键字筛选数据

    简单说下这个demo的实现,点击一个button,弹出一个类似spinner的界面,包含一个edittext和listview,当在输入框中键入关键字时,下面的listview所显示的数据可以随之进行筛选,点击...主要用到了TextWatcher这个知识点

    Android 提示文本框还能输入多少个字符源码-IT计算机-毕业设计.zip

    10. **毕业设计论文**:对于毕业设计来说,除了源码实现,通常还需要撰写一份技术论文,阐述设计思路、实现过程、遇到的问题及解决方案,以及项目的实际意义和应用场景。 这个项目不仅适合初学者理解Android应用的...

    Android中AutoCompleteTextView与TextWatcher结合小实例

    AutoCompleteTextView是实现动态匹配输入内容的一种输入框(EditText),如输入“and”时,会提示...import android.text.TextWatcher; import android.widget.AutoCompleteTextView; public class DrComActivity

    TextWatcher-Implementation:Android Studio Canary上的TextWatcher实现

    Android Studio TextWatcher实现 TextWatcher是一个界面,可用于对文本进行可编辑的操作。 此实现使用三种公共方法: afterTextChanged(Editable s) beforeTextChanged(CharSequence s, int start, int count, ...

    自动调整大小的EditText_Java_下载.zip

    这个"自动调整大小的EditText_Java_下载.zip"文件提供了一个名为AutoFitEditText的解决方案,它是一个自定义的EditText子类,可以实现动态调整宽度的功能。 AutoFitEditText的核心功能在于它能够实时监测文本的变化...

    安卓搜索相关相关-输入框字符个数监听.rar

    如果你遇到无法运行的问题,可能需要查看错误日志并进行适当的调试。 总的来说,这个压缩包提供了一个学习如何在安卓应用中实现输入框字符个数监听的实例,这对于实现搜索功能的实时反馈和输入限制非常有用。通过...

    Android--Chat.zip_android_java聊天软件

    在Android平台上开发一款基于Java的聊天软件,是一个典型的移动应用开发任务。这个“Android--Chat.zip”项目似乎是一个学习资源,专注于聊天应用的用户界面(UI)设计,而不是完整的网络功能实现。以下是一些关于这...

Global site tag (gtag.js) - Google Analytics