AndroidTextWatcher監(jiān)控EditText中的輸入內容并限制其個數(shù)

布局中EditText在android布局中經(jīng)常用到,對EditText中輸入的內容也經(jīng)常需要進行限制,我們可以通過TextWatcher去觀察輸入框中輸入的內容,作個筆記。

站在用戶的角度思考問題,與客戶深入溝通,找到磐安網(wǎng)站設計與磐安網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站設計、外貿網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務覆蓋磐安地區(qū)。

主布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
<TextView android:id="@+id/tv"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:textColor="@android:color/white" 
  android:ellipsize="marquee" 
  android:focusable="true" 
  android:marqueeRepeatLimit="marquee_forever" 
  android:focusableInTouchMode="true" 
  android:scrollHorizontally="true"  
  android:text="Please input the text:"
  />
<EditText android:id="@+id/ET" 
  android:layout_width="match_parent" 
  android:layout_height="wrap_content"
  android:inputType="number"/>
</LinearLayout>

java代碼:

package com.android.text;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class TextWatcherDemo extends Activity {
  private TextView mTextView;
  private EditText mEditText;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mTextView = (TextView)findViewById(R.id.tv);
    mEditText = (EditText)findViewById(R.id.ET);
    mEditText.addTextChangedListener(mTextWatcher);
  }
  TextWatcher mTextWatcher = new TextWatcher() {
    private CharSequence temp;
    private int editStart ;
    private int editEnd ;
    @Override
    public void beforeTextChanged(CharSequence s, int arg1, int arg2,
        int arg3) {
      temp = s;
    }

    @Override
    public void onTextChanged(CharSequence s, int arg1, int arg2,
        int arg3) {
      mTextView.setText(s);
    }

    @Override
    public void afterTextChanged(Editable s) {
      editStart = mEditText.getSelectionStart();
      editEnd = mEditText.getSelectionEnd();
      if (temp.length() > 10) {
        Toast.makeText(TextWatcherDemo.this,
            "你輸入的字數(shù)已經(jīng)超過了限制!", Toast.LENGTH_SHORT)
            .show();
        s.delete(editStart-1, editEnd);
        int tempSelection = editStart;
        mEditText.setText(s);
        mEditText.setSelection(tempSelection);
      }
    }
  };
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

分享標題:AndroidTextWatcher監(jiān)控EditText中的輸入內容并限制其個數(shù)
當前路徑:http://bm7419.com/article4/ipodie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站網(wǎng)站建設、軟件開發(fā)、Google、標簽優(yōu)化、手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設