有沒有一種簡單的方法可以將整個視圖組與其數據放在一起保存?例如,如果最初我有這個視圖,並且在應用程序中運行某些視圖的背景圖像更改,某些視圖將變爲不可見,或其「文本更改等。如何保存視圖的狀態以防用戶退出應用程序?保存狀態的視圖
<RelativeLayout android:layout_width="wrap_content" android:id="@+id/water_room_common"
android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android"
>
<!-- storage layout -->
<View android:id="@+id/gap" android:layout_width="wrap_content"
android:layout_height="0dip" android:layout_alignParentBottom="true" />
<RelativeLayout android:id="@+id/storage"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_above="@id/gap" android:layout_marginBottom="10dp"
android:layout_marginRight="27dp" android:layout_marginLeft="10dp"
android:layout_toLeftOf="@id/bag" android:orientation="horizontal"
>
<ImageButton android:id="@+id/ImageButton02"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignTop="@+id/ImageButton01"
android:layout_marginRight="16dp" android:layout_toLeftOf="@+id/ImageButton01"
android:background="@drawable/single_square" android:onClick="itemSelected" />
<ImageButton android:id="@+id/ImageButton03"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignTop="@+id/ImageButton01"
android:layout_centerHorizontal="true" android:layout_marginRight="16dp"
android:layout_toLeftOf="@+id/ImageButton02" android:background="@drawable/single_square"
android:onClick="itemSelected"
/>
<ImageButton android:id="@+id/ImageButton04"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignTop="@+id/ImageButton01"
android:layout_marginRight="16dp" android:layout_toLeftOf="@+id/ImageButton03"
android:adjustViewBounds="true" android:background="@drawable/single_square"
android:onClick="itemSelected"
/>
<ImageButton android:id="@+id/ImageButton05"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignTop="@+id/ImageButton01"
android:layout_marginRight="16dp" android:layout_toLeftOf="@+id/ImageButton04"
android:adjustViewBounds="true" android:background="@drawable/single_square"
android:onClick="itemSelected"
/>
<ImageButton android:id="@+id/ImageButton06"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignTop="@+id/ImageButton01"
android:layout_marginRight="16dp" android:layout_toLeftOf="@+id/ImageButton05"
android:adjustViewBounds="true" android:background="@drawable/single_square"
android:onClick="itemSelected"
/>
<ImageButton android:id="@+id/ImageButton01"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" android:background="@drawable/single_square"
android:onClick="itemSelected"
/>
</RelativeLayout>
<ImageButton android:id="@+id/bag" android:layout_width="65dp"
android:layout_height="65dp" android:layout_alignBottom="@+id/storage"
android:layout_alignParentRight="true" android:layout_marginRight="10dp"
android:adjustViewBounds="true"
android:onClick="bagClicked"/>
<ImageButton android:id="@+id/left" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignLeft="@+id/storage"
android:layout_centerVertical="true" android:background="@null"
android:onClick="previousWall" android:src="@drawable/left" />
<ImageButton android:id="@+id/right" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignRight="@id/bag"
android:layout_centerVertical="true" android:background="@null"
android:onClick="nextWall" android:src="@drawable/right" />
</RelativeLayout>
和的onSaveInstanceState保存onRestoreInstanceState只有當設備殺死的,因爲內存不足時,或者當方向變化,這不是問題,我因爲我的應用程序是唯一的景觀應用。我不僅需要在瞬態變化中保存視圖。 至於重寫onPause和onResume你有什麼確切的建議?因爲它實際上是我的問題 – Nazerke
我想保存視圖不是數據,如字符串,整型等,而不是用戶輸入。你知道我們在setContentView(layoutA)中定義爲佈局文件的xml。在應用程序運行期間,這個layoutA被改變了:它的一些imagebuttons改變了背景圖片,一些按鈕變成了不可見的等等。所以我想保存新版本的layoutA onPause()並且重新創建onResume – Nazerke