Android EditText限制輸入字?jǐn)?shù)的方法
本文實(shí)例講述了Android EditText限制輸入字?jǐn)?shù)的方法。分享給大家供大家參考,具體如下:
//新浪微博字?jǐn)?shù)限制
private static final int WEIBO_CONTENT_LENGTH_LIMITED = 140;
//添加微博內(nèi)容edittext
mInputEditText.addTextChangedListener(mTextWatcher);
private TextWatcher mTextWatcher = new TextWatcher() {
private int editStart;
private int editEnd;
public void afterTextChanged(Editable s) {
editStart = mInputEditText.getSelectionStart();
editEnd = mInputEditText.getSelectionEnd();
// 先去掉監(jiān)聽器,否則會(huì)出現(xiàn)棧溢出
mInputEditText.removeTextChangedListener(mTextWatcher);
while (mInputEditText.getText().toString().length() > WEIBO_CONTENT_LENGTH_LIMITED) {
s.delete(editStart - 1, editEnd);
editStart--;
editEnd--;
}
mInputEditText.setText(s);
mInputEditText.setSelection(editStart);
mInputEditText.addTextChangedListener(mTextWatcher);
setPromptContent();
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
};
/**
* refresh prompt content numbers
*/
private void setPromptContent() {
int contentLength = mInputEditText.getText().toString().length();
mInputEditText.setSelection(contentLength);
int limitedLength = WEIBO_CONTENT_LENGTH_LIMITED - contentLength;
String prefix = getResources().getString(R.string.weibo_content_numbers_prefix);
String suffix = getResources().getString(R.string.weibo_content_numbers_suffix);
String promptContentNumbers = prefix + limitedLength + suffix;
SpannableStringBuilder style = new SpannableStringBuilder(promptContentNumbers);
style.setSpan(new ForegroundColorSpan(Color.RED), prefix.length(), promptContentNumbers.length() - suffix.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mPromptContentNumbers.setText(style);
}
更多關(guān)于Android控件相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- android同時(shí)控制EditText輸入字符個(gè)數(shù)和禁止特殊字符輸入的方法
- 全面解析Android中對(duì)EditText輸入實(shí)現(xiàn)監(jiān)聽的方法
- Android文本輸入框(EditText)輸入密碼時(shí)顯示與隱藏
- Android之EditText控制禁止輸入空格和回車
- Android如何禁止向EditText控件中輸入內(nèi)容詳解
- Android UI設(shè)計(jì)系列之自定義EditText實(shí)現(xiàn)帶清除功能的輸入框(3)
- Android編程實(shí)現(xiàn)實(shí)時(shí)監(jiān)聽EditText文本輸入的方法
- Android輸入框控件ClearEditText實(shí)現(xiàn)清除功能
- Android高級(jí)xml布局之輸入框EditText設(shè)計(jì)
- Android中多個(gè)EditText輸入效果的解決方式
相關(guān)文章
Android編程實(shí)現(xiàn)的重力感應(yīng)示例代碼
這篇文章主要介紹了Android編程實(shí)現(xiàn)的重力感應(yīng)效果,以完整示例代碼形式分析了重力感應(yīng)的原理與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
android開發(fā)socket編程之udp發(fā)送實(shí)例分析
這篇文章主要介紹了android開發(fā)socket編程之udp發(fā)送,實(shí)例分析了Android開發(fā)socket網(wǎng)絡(luò)編程中udp發(fā)送的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Android指紋識(shí)別功能深入淺出分析到實(shí)戰(zhàn)(6.0以下系統(tǒng)解決方案)
指紋識(shí)別在現(xiàn)實(shí)應(yīng)用中已經(jīng)很多了,本篇文章主要介紹了Android指紋識(shí)別功能,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11
Android四大組件之Service(服務(wù))實(shí)例詳解
這篇文章主要介紹了Android四大組件之Service(服務(wù))的用法,結(jié)合實(shí)例形式詳細(xì)分析了Service的基本概念,類型,用法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-01-01
Android RecyclerView緩存復(fù)用原理解析
RecyclerView是Android一個(gè)更強(qiáng)大的控件,其不僅可以實(shí)現(xiàn)和ListView同樣的效果,還有優(yōu)化了ListView中的各種不足。其可以實(shí)現(xiàn)數(shù)據(jù)縱向滾動(dòng),也可以實(shí)現(xiàn)橫向滾動(dòng)(ListView做不到橫向滾動(dòng))。接下來(lái)講解RecyclerView的用法2022-11-11
Android scheme 跳轉(zhuǎn)的設(shè)計(jì)與實(shí)現(xiàn)詳解
這篇文章主要介紹了Android scheme 跳轉(zhuǎn)的設(shè)計(jì)與實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
Android設(shè)置桌面背景圖片的實(shí)現(xiàn)方法
有時(shí)候我們需要用android設(shè)置桌面背景圖片,這里簡(jiǎn)單分享下,方便需要的朋友2013-06-06
詳解Android數(shù)據(jù)存儲(chǔ)之SQLCipher數(shù)據(jù)庫(kù)加密
對(duì)于已經(jīng)ROOT的手機(jī)來(lái)說(shuō)的沒(méi)有任何安全性可以,一旦被利用將會(huì)導(dǎo)致數(shù)據(jù)庫(kù)數(shù)據(jù)的泄漏,本篇文章主要介紹了Android數(shù)據(jù)存儲(chǔ)之SQLCipher數(shù)據(jù)庫(kù)加密,具有一定的參考價(jià)值,有需要的可以了解一下。2016-12-12

