Android EditText 只能输入三行文本的实现方法
2014-01-02 14:59
603 查看
MainActivity.java
package com.example.edittext;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText et;
protected boolean editable = true;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText)findViewById(R.id.et);
et.addTextChangedListener(new TextWatcher() {
CharSequence beforeText = null;
private int line;
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void afterTextChanged(Editable s) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
// 判断是增加还是删除
StringBuilder sb = new StringBuilder(s);
beforeText = sb.delete(start, start+count).toString();
line = et.getLineCount();
if (line >= 4) {
Toast.makeText(MainActivity.this,
"最多只能输入三行", Toast.LENGTH_SHORT).show();
int length = beforeText.length();
et.setText(beforeText.toString());
et.setSelection(length);
}
}
});
}
}
package com.example.edittext;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText et;
protected boolean editable = true;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText)findViewById(R.id.et);
et.addTextChangedListener(new TextWatcher() {
CharSequence beforeText = null;
private int line;
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void afterTextChanged(Editable s) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
// 判断是增加还是删除
StringBuilder sb = new StringBuilder(s);
beforeText = sb.delete(start, start+count).toString();
line = et.getLineCount();
if (line >= 4) {
Toast.makeText(MainActivity.this,
"最多只能输入三行", Toast.LENGTH_SHORT).show();
int length = beforeText.length();
et.setText(beforeText.toString());
et.setSelection(length);
}
}
});
}
}
activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:orientation="vertical" android:paddingTop="@dimen/activity_vertical_margin" > <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#ffffff" /> <TextView android:layout_width="match_parent" android:layout_height="1px" android:layout_marginTop="8dp" android:background="#000000"/> </LinearLayout>
相关文章推荐
- Android编程实现实时监听EditText文本输入的方法
- 全面解析Android中对EditText输入实现监听的方法
- android EditText限制只能输入2位小数的解决方法
- android EditText 只能输入无法删除的解决方法
- Android中实现Edittext中输入表情图片的方法
- Android限制EditText只能输入中文或者指定内容的实现
- Android—Android中监听EditText文本输入,实现修改用户名,清除密码
- Android 限制textview Edittext 只能输入电话号码和特定字符的方法
- Android 文本输入框EditText属性和方法说明(转载)
- Android实现EditText文本的输入,通过点击按钮,获取输入的内容
- Android限制EditText只能输入中文或者指定内容的实现
- Android编程开发之EditText实现输入QQ表情图像的方法
- Android实现EditText输入监听的方法
- Android实现EditText控件禁止输入内容的方法(附测试demo)
- Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法
- Android模仿软键盘实现软键盘的删除功能(逐个删除EditText的输入元素)
- Android 01:AutoCompleteTextView-简单实现实现自动输入文本效果
- android之EditText实现动态显示隐藏密码输入框的内容(实用)
- Android在EditText中只能输入中文或者指定类型的内容
- Android EditText监听小数点让用户只能输入小数点后两位