我有一个带有浮动标签的 EditText,它在侦听器启动并关闭(关闭)对话框片段之前不会浮动文本提示。我试图在 EditText 获得焦点之后和 dialogfragment 启动之前立即让提示浮动,以便用户可以看到已完成的提示浮动。EditText 使用“hasFocus”代码,该代码似乎阻止了标签立即浮动,尽管它最终会在 diaglogfragment 关闭后发生。似乎 OnFocusChangeListener 优先于 UI 线程上的 TextInoutLayout 浮动标签,不知道为什么。请指教。
活动.java
....
private ListenerEditText fListenerEditText;
fListenerEditText = (ListenerEditText) findViewById(R.id.FEditText);
fListenerEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, final boolean hasFocus) {
if(hasFocus) {
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
}
}
});
...
布局文件.xml ...
<android.support.design.widget.TextInputLayout
android:id="@+id/DueDate_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="0">
<com.example.jdw.thirdscreen.ListenerEditText
android:id="@+id/FEditText"
android:hint="Due Date"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_gravity="fill_horizontal|start"
android:inputType="text|textCapSentences|textNoSuggestions"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#FFFFFF"
android:singleLine="true"
android:maxLength="51"
android:imeOptions="actionNext|flagNoExtractUi"
android:layout_marginBottom="8dp" >
</com.example.jdw.thirdscreen.ListenerEditText>
</android.support.design.widget.TextInputLayout>