私はユーザーが写真といくつかのはい/いいえの質問でフォームに記入するアプリケーションを開発しています。 「はい」を選択すると、ダイアログに追加情報を追加する必要があります。次に、この情報はTextView
に挿入され、TextView
はLinearLayout
に挿入されます。onRestoreInstanceStateすべてのビューを再読み込みしません
問題は、ユーザーが別のアプリケーションに切り替えると、この画面はバックグラウンドになり、後でアンドロイドによって破棄されます(システムにメモリが必要なため)。その後、ユーザーがアプリケーションに戻ると、onRestoreInstanceState()
メソッドが呼び出され、TextView
の中にはLinearLayout
の変数は戻されません。私はこれらの変数を返すためにAndroid注釈を使用しています。これらのAndroidビューを復元するにはどうすればよいですか?
<LinearLayout
android:id="@+id/estoque_zerado_pergunta_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/existe_estoque_zerado"
android:textSize="@dimen/abc_text_size_large_material"
android:layout_margin="5dp"/>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radio_estoque_zerado_sim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sim" />
<RadioButton
android:id="@+id/radio_estoque_zerado_nao"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/nao"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:id="@+id/estoque_zerado_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone" >
<LinearLayout
android:id="@+id/estoque_zerado_itens_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!--Lista de itens aqui-->
</LinearLayout>
<LinearLayout
android:id="@+id/add_estoque_zerado_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dp" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="10dp"
android:src="@drawable/ic_adicionar"
android:contentDescription="@string/adicionar_estoque_zerado"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:text="@string/adicionar_estoque_zerado"
android:textSize="@dimen/abc_text_size_medium_material" />
</LinearLayout>
</LinearLayout>
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.d("onRestoreInstanceState", "onRestoreInstanceState: chamou onRestoreInstanceState");}
@Override
public void onSaveInstanceState(Bundle bundle) {
super.onSaveInstanceState(bundle);
Log.d("onSaveInstanceState", "onSaveInstanceState: chamou onSaveInstanceState");}
私の初心者の英語には申し訳ありません。 ありがとうございます。
あなたは 'アンドロイドを持っている:あなたのレイアウト上の視界' = "ゴーン" という通常のでしょうか? –
これは前提条件です。各質問は、前回の回答があった後でなければなりません。 –
linearLayoutが復元されていないことを確認できますか?(例:[階層表示](https://developer.android.com/studio/profile/hierarchy-viewer.html)を使用) –