Android 重叠布局

Android 重叠布局,android,android-layout,Android,Android Layout,我在片段中实现了2个ListView和editText。例如,当用户在editText中输入内容或从左listView中选择行时,会重新加载listView。但当我最小化应用程序并在1小时后最大化时,每个应用程序上有2个列表视图,editText中有2个不同的数字(重叠),一个来自前一个状态,另一个来自新状态。我该怎么修?在onPause方法中卸下适配器,然后在onStart中重新加载,并保存editText中的值?有没有更简单的解决方案 将第一个listview上的侦听器设置为重新加载第二个l

我在片段中实现了2个ListView和editText。例如,当用户在editText中输入内容或从左listView中选择行时,会重新加载listView。但当我最小化应用程序并在1小时后最大化时,每个应用程序上有2个列表视图,editText中有2个不同的数字(重叠),一个来自前一个状态,另一个来自新状态。我该怎么修?在
onPause
方法中卸下适配器,然后在
onStart
中重新加载,并保存editText中的值?有没有更简单的解决方案

将第一个listview上的侦听器设置为重新加载第二个listview:

listViewFrom.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    listViewFrom.setItemChecked(position, true);
    currentUnit = ((FromAdapter.ViewHolder) view.getTag()).getUnit();
    createToList(inputEditText.getText().toString(), currentUnit);
  }
});
和createToList函数:

 private void createToList(String string, Unit unit) {
    if (isNumeric(string)) {
       double value = Double.valueOf(string);
       List<Unit> list = createList(value, unit);
       ToAdapter toAdapter = new ToAdapter(list, getActivity());
       listViewTo.setAdapter(toAdapter);
    }
}
private void createToList(字符串,单位){
如果(是数字(字符串)){
double value=double.valueOf(字符串);
列表=创建列表(值,单位);
ToAdapter ToAdapter=新ToAdapter(列表,getActivity());
listViewTo.setAdapter(toAdapter);
}
}
XML文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<EditText
    android:layout_marginBottom="5dp"
    android:id="@+id/inputEditText"
    android:inputType="numberDecimal"
    android:maxLength="10"
    android:gravity="center_horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/inputEditText"
    android:orientation="horizontal">

    <ListView
        android:id="@+id/fromListView"
        android:choiceMode="singleChoice"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.4">

    </ListView>

    <ListView
        android:id="@+id/toListView"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.6">

    </ListView>
</LinearLayout>

以及它的样子:

Hi falsetto,也许可以为我们提供更多的代码,以便更容易地帮助您。Cheers展示XML plsTry的代码,将屏幕方向设置为“纵向”。当我旋转屏幕时也会发生同样的情况,我尝试使用
onSaveInstanceState
将适配器设置为null,但没有帮助
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<EditText
    android:layout_marginBottom="5dp"
    android:id="@+id/inputEditText"
    android:inputType="numberDecimal"
    android:maxLength="10"
    android:gravity="center_horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/inputEditText"
    android:orientation="horizontal">

    <ListView
        android:id="@+id/fromListView"
        android:choiceMode="singleChoice"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.4">

    </ListView>

    <ListView
        android:id="@+id/toListView"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.6">

    </ListView>
</LinearLayout>