当旋转设备并且活动布局相对时,编辑文本字段重叠(旋转前的内容覆盖默认内容)

时间:2016-12-28 04:28:41

标签: android android-layout android-edittext android-relativelayout

我正在尝试制作笔记应用。 我根据用户的选择将片段附加到活动中。

如果我的活动布局文件根元素采用线性布局,即使旋转设备,附着也能正常工作。 但是,当我将活动放在相对布局中时,在旋转设备时,应用程序会显示双数据字段:即在旋转重叠之前数据已更改为默认值。

片段布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            tools:context="jsb.com.notetaker.NoteEditFragment">


<ImageButton
    android:layout_width="100dp"
    android:layout_height="100dp"
    app:srcCompat="@drawable/s"
    android:id="@+id/edit_note_item_icon"/>

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_toEndOf="@id/edit_note_item_icon"
    android:layout_alignTop="@id/edit_note_item_icon">

    <EditText
        android:text="TextView"
        android:layout_marginLeft="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/edi_note_title_view"
        android:textAppearance="@style/Base.TextAppearance.AppCompat.Large"/>
</ScrollView>

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/edit_note_item_icon">

    <EditText
        android:text="TextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/edit_note_body_view"
        android:layout_marginTop="10dp"/>
</ScrollView>

活动布局文件(相对布局)

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="jsb.com.notetaker.NoteDetailActivity">

只要设备旋转,“编辑文本”字段中的数据就会重叠。

相对视图是否保留以前的数据,因为当我对活动文件使用线性布局时,它工作正常并且不会发生重叠

这是我在打开时将数据填充到片段字段中的方式

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View fragmentLayout = inflater.inflate(R.layout.fragment_note_edit,container,false);

    imageButton = (ImageButton) fragmentLayout.findViewById(R.id.edit_note_item_icon);
    editBody = (EditText) fragmentLayout.findViewById(R.id.edit_note_body_view);
    editTitle = (EditText)fragmentLayout.findViewById(R.id.edit_note_title_view);

    Intent intent = getActivity().getIntent();

    String title = intent.getExtras().getString(MainActivity.NOTE_TITLE_KEY);
    String body = intent.getExtras().getString(MainActivity.NOTE_BODY_KEY);
    Note.Category category = (Note.Category) intent.getExtras().getSerializable(MainActivity.NOTE_CATEGORY_KEY);

    imageButton.setImageResource(Note.getCategoryImageFromCategory(category));
    editTitle.setText(title);
    editBody.setText(body);

    return inflater.inflate(R.layout.fragment_note_edit, container, false);
}

0 个答案:

没有答案