Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止Android浮动EditText提示覆盖EditText中的文本?_Android_Android Edittext_Material Design - Fatal编程技术网

如何防止Android浮动EditText提示覆盖EditText中的文本?

如何防止Android浮动EditText提示覆盖EditText中的文本?,android,android-edittext,material-design,Android,Android Edittext,Material Design,所以我有一个带有EditText和浮动提示的片段。问题是,当我启动片段时,EditText已经有了一个值,浮动提示会在提示开始浮动之前覆盖文本一小段时间。如何使浮动提示在启动片段时开始浮动,而不是覆盖文本 图片是当提示覆盖文本时EditText的样子 编辑: 好吧,看起来我对这个问题的措辞有点混乱。 所以我有一个RecyclerView,它是一个列表,当按下一个列表项时,它会启动这个片段(我们称之为infoFragment的第一个图像)。用户在infoFragment中输入标题和详细信息,然后

所以我有一个带有EditText和浮动提示的片段。问题是,当我启动片段时,EditText已经有了一个值,浮动提示会在提示开始浮动之前覆盖文本一小段时间。如何使浮动提示在启动片段时开始浮动,而不是覆盖文本

图片是当提示覆盖文本时EditText的样子

编辑: 好吧,看起来我对这个问题的措辞有点混乱。 所以我有一个RecyclerView,它是一个列表,当按下一个列表项时,它会启动这个片段(我们称之为infoFragment的第一个图像)。用户在infoFragment中输入标题和详细信息,然后保存数据。现在,每当用户返回到同一个infoFragment时,他们之前输入的数据应该已经存在,就像imgur相册中的第二幅图像一样。信息会被保存,但当infoFragment仅启动一秒钟时,UI看起来就像imager相册中的第三个图像,在一瞬间,它看起来就像第二个图像

以下是片段的布局xml: mExercise是一个类中的对象,该类保存title和details的值


以下是我的片段的onCreateView方法:

@覆盖
创建视图上的公共视图(LayoutFlater充气器、视图组父级、捆绑保存状态){
视图v=充气机。充气(R.layout.fragment\u练习,父项,false);
mToolbar=(工具栏)v.findviewbyd(R.id.Toolbar);
((AppCompatActivity)getActivity()).setSupportActionBar(mToolbar);
((AppCompatActivity)getActivity()).getSupportActionBar().setTitle(“”);
mTitleField=(编辑文本)v.findViewById(R.id.exercise_title);
if(mExercise.getTitle()!=null){
mTitleField.setText(mExercise.getTitle());
}
mTitleField.addTextChangedListener(新的TextWatcher(){
@凌驾
更改前文本之前的公共void(字符序列s、int start、int count、int after){
}
@凌驾
public void onTextChanged(字符序列、int start、int before、int count){
setTitle(s.toString());
}
@凌驾
公共无效后文本已更改(可编辑){
}
});
mdDescriptionField=(EditText)v.findViewById(R.id.exercise_details);
if(mExercise.getDetails()!=null){
mdDescriptionField.setText(mExercise.getDetails());
}
mdDescriptionField.addTextChangedListener(新的TextWatcher(){
@凌驾
更改前文本之前的公共void(字符序列s、int start、int count、int after){
}
@凌驾
public void onTextChanged(字符序列、int start、int before、int count){
setDetails(s.toString());
}
@凌驾
公共无效后文本已更改(可编辑){
}
});
返回v;
}

尝试在
文本输入布局
而不是
编辑文本
上设置
android:hint

<android.support.design.widget.TextInputLayout
    android:id="@+id/title_textInput"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:hint="Title">

    <EditText
        android:id="@+id/exercise_title"
        style="@style/Widget.AppCompat.EditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</android.support.design.widget.TextInputLayout>


应该修复compile'com.android.support:design:23.0.1'

浮动提示使用什么?请输入代码。当输入文本时提示应该消失。不要使用TextView作为提示,请通过在XML中使用EditText的提示属性
android:hint=“[your\u hint\u string]”
移动android:hint似乎是TextInputLayout似乎完全删除提示25+再次出现问题:(