介绍
怎么在Android中利用EditText对内容进行分割输入?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<>强自定义EditText 强>
/* * * @Description分割输入框 * @Author一花一世界 */公开课ContentWithSpaceEditText EditText{延伸 公共静态最终int TYPE_PHONE=0; 公共静态最终int TYPE_CARD=1; 公共静态最终int TYPE_IDCARD=2; 私人int最大长度=100; 私人int contentType; 私人int开始计数,之前; 私人字符串的位数; 公共ContentWithSpaceEditText(上下文语境){ 这(上下文,null); } 公共ContentWithSpaceEditText(上下文语境,AttributeSet attrs) { 超级(上下文,attrs); attrs parseAttributeSet(上下文); } 公共ContentWithSpaceEditText(上下文语境、AttributeSet attrs int defStyleAttr) { 超级(上下文、attrs defStyleAttr); attrs parseAttributeSet(上下文); } 私人空间parseAttributeSet(上下文语境,AttributeSet attrs) { TypedArray ta=上下文。obtainStyledAttributes (attrs R.styleable。ContentWithSpaceEditText, 0, 0); contentType=ta.getInt (R.styleable。ContentWithSpaceEditText_type, 0); ta.recycle (); initType (); setSingleLine (); addTextChangedListener(观察者); } 私人空间initType () { 如果(contentType==TYPE_PHONE) { 最大长度=13; 位数=?123456789”; setInputType (InputType.TYPE_CLASS_NUMBER); }else if (contentType==TYPE_CARD) { 最大长度=23; 位数=?123456789”; setInputType (InputType.TYPE_CLASS_NUMBER); }else if (contentType==TYPE_IDCARD) { 最大长度=21; 数字=?123456789 xx“; setInputType (InputType.TYPE_CLASS_TEXT); } setFilters(新InputFilter[]{新InputFilter.LengthFilter(最大长度)}); } @Override 公共空间setInputType (int类型){ super.setInputType(类型);//setKeyListener要在setInputType后面调用,否则无效 如果(! TextUtils.isEmpty(位数)){ setKeyListener (DigitsKeyListener.getInstance(位数)); } } 私人TextWatcher观察家=new TextWatcher () { @Override 公共空间beforeTextChanged (CharSequence进行年代,int, int数,int后){ } @Override 公共空间> & lt;及# 63;xml version=?.0”;编码=皍tf-8", # 63;比; & lt; resources> & lt; declare-styleable name=癈ontentWithSpaceEditText"祝辞 & lt; attr name=皌ype"格式=癳num"比; & lt;枚举名称=皃hone"值=https://www.yisu.com/zixun/" 0 "/> <枚举名称="卡" value=" 1 "/> <枚举名称="经办人身份证" value=" 2 "/> 资源>
<强>布局文件中使用强>
& lt;及# 63;xml version=?.0”;编码=皍tf-8", # 63;比; http://schemas.android.com/apk/res/android" & lt; LinearLayout xmlns: android=?; xmlns:应用=癶ttp://schemas.android.com/apk/res-auto" android: layout_width=癿atch_parent" android: layout_height=癿atch_parent" android:背景=癅color/theme_bg" android:取向=皏ertical"比; & lt; com.wiggins.splitinput.widget.TitleView android: id=癅 + id/titleView" android: layout_width=癿atch_parent" android: layout_height=皐rap_content"/比; LinearLayout & lt; android: layout_width=癿atch_parent" android: layout_height=癅dimen/item_normal" android: layout_margin=癅dimen/margin_normal" android:重力=癱enter_vertical" android:取向=癶orizontal"比; & lt; TextView android: layout_width=癅dimen/btn_width_normal" android: layout_height=癿atch_parent" android:重力=癱enter_vertical" android:文本=癅string/phone_number" 输入textColor=癮ndroid: @color/blue" android: textSize=癅dimen/font_normal"/比; & lt; com.wiggins.splitinput.widget.ContentWithSpaceEditText android: id=癅 + id/edt_phone_input" android: layout_width=癿atch_parent" android: layout_height=癅dimen/item_normal" android:背景=癅color/white" android:重力=癱enter" android:提示=癅string/please_enter_content" android: inputType=皀umber" 输入textColor=癮ndroid: @color/blue" android: textColorHint=癅color/gray" android: textCursorDrawable=癅null" android: textSize=癅dimen/font_normal" 应用:类型=皃hone"/比; & lt;/LinearLayout> LinearLayout & lt; android: layout_width=癿atch_parent" android: layout_height=癅dimen/item_normal" android: layout_margin=癅dimen/margin_normal" android:重力=癱enter_vertical" android:取向=癶orizontal"比; & lt; TextView android: layout_width=癅dimen/btn_width_normal" android: layout_height=癿atch_parent" android:重力=癱enter_vertical" android:文本=癅string/bank_card_number" 输入textColor=癮ndroid: @color/blue" android: textSize=癅dimen/font_normal"/比; & lt; com.wiggins.splitinput.widget.ContentWithSpaceEditText android: id=癅 + id/edt_bank_card_input" android: layout_width=癿atch_parent" android: layout_height=癅dimen/item_normal" android:背景=癅color/white" null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null怎么在Android中利用EditText对内容进行分割输入