我想在android.support.design中使用很棒的设计选项,但是有一个问题。
当我在TextInputLayout中将EditText设置为FocusChanged(在android中为 setOnFocusChangedListener )时,TextInputLayout无法正常工作,浮动文本始终位于带有重音符号的edittext顶部color。(TextInputLayout不会自行更新)
有没有办法解决这个问题?!
如果你给我java代码,我在xamarin中创建我的应用程序但没问题。
答案 0 :(得分:2)
当您为EditText设置自定义onFocusChangedListener时,您会覆盖onFocusChangedListener,但您仍然可以使用旧的onFocusChangedListener。要做到这一点,你需要在覆盖之前得到它。
final View.OnFocusChangeListener oldNameFocusListener = textInputLayout.getEditText().getOnFocusChangeListener();
textInputLayout.getEditText().setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
oldNameFocusListener.onFocusChange(v, hasFocus);
}
});
此问题可在旧设计库中找到,在新版本(v23.0.0)中,此问题已得到修复。
答案 1 :(得分:0)
我找到了答案。 我偶然在我的布局中点击了一个单选按钮,我看到TextInputLayout已更新并且浮动标签已更改,我发现如果布局刷新了TextInputLayout更新。 所以我只是将它添加到我的FocusChanged(android中的onFocusChangedListener)方法
((TextView)sender).Text = ((TextView)sender).Text;
答案 2 :(得分:0)
为onFocusChangedListener
设置自定义EditText
时,您覆盖onFocusChangedListener
设置的TextInputLayout
。因此,无法将onFocusChangedListener
与TextInputLayout
一起使用。