我为三个在 UI 屏幕上正常工作的 EditText 设置了三个浮动标签。第四个 EditText 不会浮动提示,直到侦听器启动并关闭(关闭)一个对话框片段。我试图在 EditText 获得焦点之后以及在启动dialogfragment 之前让提示浮动,因此用户可以在从 dialogfragment 获取其他信息之前看到已完成的提示浮动。第四个 EditText 具有下面显示的“hasFocus”代码,而前三个 EditText 没有,因此 hasFocus 阻止标签立即浮动,尽管它最终会在 diaglogfragment 关闭后发生。请指教。
活动.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>