重写<EditText android:id="@+id/setting_data_of_port" android:layout_width="200dp" android:layout_height="40dp" android:layout_marginLeft="20dp" android:layout_marginTop="5dp" android:layout_toRightOf="@+id/port_setting" android:hint="333" />
时间: 2024-02-10 10:09:44 浏览: 82
您可以在您的 Java 代码中重写 EditText,以便在用户输入时进行一些自定义操作,例如验证用户输入或格式化文本。以下是一个重写 EditText 的示例:
```
public class CustomEditText extends EditText {
public CustomEditText(Context context) {
super(context);
init();
}
public CustomEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
// 在这里可以进行一些初始化操作,例如设置文本颜色、字体大小等
setTextColor(Color.BLACK);
setTextSize(16);
}
@Override
protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) {
super.onTextChanged(text, start, lengthBefore, lengthAfter);
// 在用户输入文本时调用,可以在这里进行一些自定义操作
if (text.length() > 10) {
setError("输入文本不能超过10个字符");
} else {
setError(null);
}
}
}
```
在布局文件中,您可以使用您自定义的 EditText:
```
<com.example.myapp.CustomEditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入文本" />
```
这样,当用户在 EditText 中输入文本时,如果文本长度超过 10 个字符,就会显示一个错误提示,否则提示会消失。
阅读全文