文档库 最新最全的文档下载
当前位置:文档库 › Android实例EditText右下角显示剩余字数

Android实例EditText右下角显示剩余字数

Android实例EditText右下角显示剩余字数
Android实例EditText右下角显示剩余字数

[Android实例] edittext右下角显示剩余字数

package com.myfiftycents.personchildactivity;

import java.security.PublicKey;

import javax.security.auth.PrivateCredentialPermission; import com.myfiftycents.R;

import android.R.integer;

import android.app.Activity;

import android.os.Bundle;

import android.text.Editable;

import android.text.TextWatcher;

import android.text.InputFilter.LengthFilter;

import android.view.View;

import android.view.View.OnFocusChangeListener; import android.widget.EditText;

import android.widget.TextView;

public class PersonChildTextRelease extends Activity {

private EditText edit_person_text_release;

private TextView tv_person_text_release_number;

private static final int MAX_NUMBER = 300;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(https://www.wendangku.net/doc/6710370597.html,yout.activity_person_text_release);

edit_person_text_release = (EditText) findViewById(R.id.edit_person_text_release); tv_person_text_release_number = (TextView)

findViewById(https://www.wendangku.net/doc/6710370597.html,_person_text_release_number);

edit_person_text_release.clearFocus();

edit_person_text_release

.setSelection(edit_person_text_release.length());

edit_person_text_release.addTextChangedListener(mTextWatcher);

final String str = edit_person_text_release.getHint().toString().trim(); setLeftCount();

edit_person_text_release

.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override

public void onFocusChange(View arg0, boolean arg1) {

if (arg1) {

edit_person_text_release.setHint("");

} else {

edit_person_text_release.setHint(str);

}

}

});

}

private TextWatcher mTextWatcher = new TextWatcher() { private int edit_start;

private int edit_end;

@Override

public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {

// TODO Auto-generated method stub

}

@Override

public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {

// TODO Auto-generated method stub

}

@Override

public void afterTextChanged(Editable str) {

edit_start = edit_person_text_release.getSelectionStart();

edit_end = edit_person_text_release.getSelectionEnd();

edit_person_text_release.removeTextChangedListener(mTextWatcher); while (calculateLength(str.toString()) > MAX_NUMBER) {

str.delete(edit_start - 1, edit_end);

edit_start--;

edit_end--;

}

edit_person_text_release.setText(str);

edit_person_text_release.setSelection(edit_start);

edit_person_text_release.addTextChangedListener(mTextWatcher); setLeftCount();

}

};

private long calculateLength(CharSequence c) {

double len = 0;

for (int i = 0; i < c.length(); i++) {

int temp = (int) c.charAt(i);

if (temp > 0 && temp < 127) {

len += 0.5;

} else {

len++;

}

}

return Math.round(len);

}

private void setLeftCount() {

tv_person_text_release_number.setText(String.valueOf(MAX_NUMBER - getInputCount()));

}

private long getInputCount() {

return calculateLength(edit_person_text_release.getText().toString()); }

public static int getWordCount(String str) {

str = str.replaceAll("[^\\x00-\\xff]", "**");

int length = str.length();

return length;

}

}

相关文档