此功能类似于临摹。已知被临摹的字符串,将字符串与EditText中输入进行
对比,输入错误,则用“×”替换所输入的字符。
import android.app.Activity;
import android.os.Bundle;
import android.text.InputFilter;
import android.text.Spanned;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MyFilterTest extends Activity {
/** Called when the activity is first created. */
TextView myText;
EditText myEdit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final String str = "Hello,Android!";
myText=(TextView)findViewById(R.id.myText);
myText.setText(str);
myEdit=(EditText)findViewById(R.id.myEdit);
myEdit.setFilters(new InputFilter[]{ new MyInputFilter(str) });
}
public class MyInputFilter implements InputFilter{
String str=null;
public MyInputFilter(String str){
this.str=str;
}
@Override
public CharSequence filter(CharSequence src, int start, int end,
Spanned dest, int dstart, int dend) {
// TODO Auto-generated method stub
String ch=null;
String TAG="Filter";
Log.w(TAG,"src:"+src+";start:"+start+";end:"+end);
Log.w(TAG,"dest:"+dest+";dstart:"+dstart+";dend:"+dend);
if(dest.length()<str.length()){
ch=str.substring(dstart+start, dstart+end);
}else{
return dest.subSequence(dstart, dend);
}
if(ch.equals(src)){
Toast.makeText(MyFilterTest.this, "match", Toast.LENGTH_SHORT).show();
return dest.subSequence(dstart, dend)+src.toString();
}else{
Toast.makeText(MyFilterTest.this, "mismatch", Toast.LENGTH_SHORT).show();
return dest.subSequence(dstart, dend)+"×";
}
}
}
}
分享到:
相关推荐
本篇文章将详细探讨如何在Android中实现一个基于原生EditText的富文本组件。 首先,`EditText`是一个简单的文本输入框,它可以接收用户的文本输入并显示。然而,它的功能相对有限,不支持诸如插入图片、设置文本...
在Android开发中,EditText是用户输入数据的常见组件,它允许用户输入文本并显示在界面上。然而,有时候我们希望对用户的输入进行限制,比如只允许输入数字、字母或者特定格式的数据,这时我们就需要用到EditText的...
这个例子程序可能是一个教学项目或示例代码,旨在演示如何在Android应用中使用`EditText`控件来实现文本编辑功能。下面我们将深入探讨`EditText`的相关知识点。 1. **EditText简介**: `EditText`继承自`TextView`...
EditText是Android SDK中的一个视图类,用于显示可编辑的文本。它可以包含预设文本,用户可以在其中进行修改。开发者可以通过设置属性来定制EditText的外观和行为,例如输入类型、颜色、字体大小等。 2. 输入验证的...
这个压缩包文件“安卓Android源码——(EditText文本编辑).rar”很可能包含了一个关于如何自定义和深入理解`EditText`功能的示例项目。在本文中,我们将详细探讨`EditText`组件以及与其相关的知识点。 `EditText`是...
在Android软件开发中,EditText是用户输入文本的基本控件,它是TextView的一个子类,提供了文本输入、编辑和格式化功能。本教程将深入探讨EditText的源码,帮助开发者更好地理解和利用这一关键组件。 首先,...
这个自定义控件"Android的edittext在弹出框中实现输入自动千分位分隔和金额限制"就解决了这样的问题。 首先,我们需要理解的是`EditText`的基本用法。`EditText`是继承自`TextView`的,它添加了文本编辑功能。我们...
在Android开发中,`EditText`是用户界面(UI)组件之一,用于接收用户输入文本。它在各种场景下都有广泛的应用,例如登录、注册、评论等。本篇将深入探讨`EditText`的一些常见效果实现,包括输入表情和验证输入。 1...
EditText是Android的文本输入框控件,这地球人应该都知道的了,但是默认的EditText是无所不能输入的,有时候我们需要设计一 款软件,而且是给小孩子使用的,而且需要屏蔽以下未成年人所不能涉及的内容,也就是屏蔽...
EditText是Android系统提供的用于接收用户输入文本的基本控件,通常用于表单或对话框中。然而,系统默认的EditText并不能满足所有需求,如在此案例中,我们需要的是一个能够自动在6个输入框之间切换的验证码输入框。...
在Android开发中,`EditText`是用于用户输入文本的基本组件,常常用于收集用户的数据,如密码、邮箱地址等。为了确保用户输入的数据符合特定格式,我们可以利用正则表达式(Regular Expression)进行验证。正则...
这个压缩包“安卓EditText输入框相关-androidEdittext两位小数输入可用于价格计算器.zip”包含了一个示例,展示如何限制`EditText`输入为最多两位小数,这对于构建价格计算器或其他涉及货币输入的应用场景非常有用。...
限制 EditText 最大输入字符数可以通过三种方法实现:在 xml 文件中设置文本编辑框属性、在代码中使用 InputFilter 进行过滤、利用 TextWatcher 进行监听。开发者可以根据实际情况选择适合的方法。
在Android应用开发中,EditText是不可或缺的一个组件,它允许用户输入和编辑文本。这份源码Demo专注于EditText的使用,对于毕业设计或者Android编程学习者来说,是一个很好的实践案例。下面我们将详细探讨EditText的...
在Android开发中,EditText是用户输入文本的常见组件,它允许用户输入文本并进行各种操作。然而,有时候我们并不希望用户在EditText中输入特定类型的数据,例如系统或自定义的emoji表情。在这种情况下,我们需要实现...
2. **输入过滤**:通过实现`InputFilter`接口并将其设置到EditText的`Filters`数组中,可以限制用户输入的内容。例如,只允许输入数字、字母,或者限制输入长度。 3. **监听事件**:使用`addTextChangedListener`...
EditText通常通过XML布局文件进行声明,可以设置属性如输入类型(inputType)、提示文本(hint)以及是否允许为空(android:required)。例如: ```xml <EditText android:id="@+id/editTextEmail" android:...
综上所述,通过自定义`InputFilter`或者使用`TextWatcher`监听,我们可以在Android应用中实现对`EditText`字符数的限制,确保用户输入符合我们的业务需求。在实际开发中,可以根据项目需求灵活选择合适的方法。