- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如果 editText1 是焦点并且 editTextWrapper 已经显示错误并且我将 focus 移开(例如到 editText2)errorMessage 会闪烁一点(因为 focusListener 再次启用它)并且会有小的动画故障。
有没有办法检查是否启用了 TextInputLayout 错误(或其他知道显示错误的方法,除了向我的类引入外部验证?
public class NoteCreateFragment extends Fragment{
@Bind(R.id.edit_text1) EditText editText1;
@Bind(R.id.edit_text2) EditText editText2;
@Bind(R.id.edit_text_wrapper) TextInputLayout editTextWrapper;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState
){
View view = inflater.inflate(R.layout.fragment_note_create, container, false);
ButterKnife.bind(this, view);
editText1.addTextChangedListener(textWatcher);
editText1.setOnFocusChangeListener(focusListener);
return view;
}
@Override
public void onDestroyView(){
super.onDestroyView();
ButterKnife.unbind(this);
}
private void createTask(){
String text1 = editText1.getText().toString();
if(text1.isEmpty()){
editTextWrapper.setError("Please enter task name");
}
}
private TextWatcher textWatcher = new TextWatcher(){
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after){
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count){
if(s.length() > 3){ editTextWrapper.setErrorEnabled(false); }
}
@Override
public void afterTextChanged(Editable s){
}
};
private View.OnFocusChangeListener focusListener = new View.OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus){
if(!hasFocus && editText1.getText().toString().length() < 1){
editTextWrapper.setErrorEnabled(true);
editTextWrapper.setError("Please enter task name");
Log.e("TextInputLayout", editTextWrapper.getEditText().getError().toString());
}
}
};
最佳答案
不要在运行时更改 setErrorEnabled()
来显示/隐藏错误。使用 setError(message)
显示错误,使用 setError(null)
隐藏错误。因此
if(!TextUtils.isEmpty(textInputLayout.getError())
如果错误可见则返回 true,否则返回 flase
关于android - 如果启用了错误,如何检查 TextInputLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31876854/
如何为登录表单制作圆角?这是我的代码: 尝试添加: style="@style/Widget.MaterialComponents.TextInputLayout.Outlined
我有一个简单的 TextInputLayout: 那我下面还有其他看法。 问题是,当我在 TextInputLayout 上设置错误时,高度会增加并插入下方的所有 View 。我尝试了一
我想让我的 CustomTextInputLayout 将 Widget.MaterialComponents.TextInputLayout.OutlinedBox 作为默认样式,无需在 XML 中
有没有办法强制 TextInputLayout 错误消息占用一行? 我试图放置 app:errorTextAppearance="@style/error_appearance"在带有 error_a
在我的新 Android 应用程序中,TextInputLayout 的标 checkout 现在用户键入输入的空间中。这会导致输入的文本呈现在标签/提示的顶部: 当用户首次加载页面时: 当用户点击文
Android 的新 Material TextInputLayout 只支持boxed 和outlined 两种样式。 有没有办法切换到旧式(在支持库中) 最佳答案 您可以使用:
我注意到几天以来,我所有的 TextInputLayouts 始终启用“错误感叹号”。我已经很长时间没有对那些 TextInputLayouts 进行任何更改了,所以我真的不明白发生了什么。 这是它的
我有一个很长的文本,需要按照要求 float 在编辑文本上。我在这里经历了很多这样的问题,但找不到正确的答案。我们如何才能做到这一点?我尝试过使用带有提示字符串的“\n”,但它不起作用。 最佳答案 y
我正在尝试根据用户从 Spinner 中选择的数字添加带有 EditText 的 TextInputLayout。我已经在 XML 中定义了 TextInputLayout 属性,并希望能够根据用户从
我正在处理注册屏幕,它有多个 textInputLayout。在 onResume() 中,我将文本更改和焦点监听器添加到所有文本输入布局。在打开屏幕上,它工作正常,所有焦点和文本更改监听器都工作正常
不确定我遗漏了什么,但每次 edittext 聚焦时,下划线颜色都不会适应我设置的自定义颜色。引用这里是我的主题代码 @color/white @color/white @colo
当您单击 eddittext 时,有什么方法可以添加填充来提示吗?我尝试在 edittext 和 TextInputLayout 中添加填充和边距。 目前:
我是 Android 应用开发领域的新手。我目前正在尝试一些基本的东西。目前我正在尝试实现一个 float 标签,就像在各种 Material 设计应用程序中看到的那样。 我想要做的是获取一个 Car
我添加了 7+ TextInpuLayout 和父级 ScrollView 并且 TextInputLayout 在某些设备上只显示第一个后隐藏并且对于某些设备它工作得很好。为了更好地理解,这里有两个
我想在 android.support.design 中使用很棒的设计选项,但有一个问题。 当我在 TextInputLayout 中为我的 EditText 的 FocusChanged(andro
我在 textInputLayout 的 Activity 日志中缺少错误图标。不是那个时候发生,但现在只出现错误消息,而不是图标出现。 在我有一个表单的另一个 Activity 中,如果我出现了,但
我正在尝试创建一个与 Google 相册应用中的工具栏具有相似样式的搜索栏 - 即,带有阴影的圆角。 我们使用 Material 库中的 TextInputLayout 作为 fragment 的唯一
使用 TextInputLayout来自 Material Design library我们可以使用各种 end icon modes用于密码编辑、文本清除和自定义模式。此外,如果我们使用任何 Wid
我正在尝试将 TextInputLayout 实现到我的布局中。我有 3 个 EditText。我将每个包装在一个单独的 TextInputLayout 中。 它们不是分开,而是堆叠在一起。
我在 TextInputLayout 上有一个奇怪的错误。 com.google.android.material.textfield.TextInputEditText 的提示颜色在聚焦时变为白色。
我是一名优秀的程序员,十分优秀!