0

私はアンドロイドアプリケーションを開発しています。アプリケーションには8つのアクティビティがあります。最後のアクティビティに送信ボタンがあります。サブミットを押す前に、ユーザーは任意のアクティビティに戻ってデータを編集できます。すべてのアクティビティには、次と前という名前の 2 つのボタンがあります。最後のアクティビティには、Submit という追加のボタンがあります。次のページから前のページに来て、データを編集して提出に行きたいです。

今私の問題は、前を押すたびに、以前の活動データフィールドが空白になることです..

この問題を解決するのを手伝ってください。

4

3 に答える 3

0

他のアクティビティに移動しているときにアクティビティを終了しないでください。また、アクティビティの起動中にフラグを設定することもできます。これにより、アクティビティがバックスタックに置かれ、再起動時に戻ると取得されます。詳細については、以下のリンクに従ってください。

http://developer.android.com/guide/components/tasks-and-back-stack.html

于 2013-08-16T05:52:02.807 に答える
0

アクティビティの状態を保存する必要があります:

private static final String INPUT1 = "ip1";
private static final String INPUT2 = "ip2";

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    // Save the user's current game state
    savedInstanceState.putString(INPUT1, mEditText1.getText().toString());
    savedInstanceState.putString(INPUT2, mEditText2.getText().toString());

    // Always call the superclass so it can save the view hierarchy state
    super.onSaveInstanceState(savedInstanceState);
}

アクティビティの開始時に復元します。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); // Always call the superclass first

    mEditText1 = findViewById(.....
    mEditText2 = findViewById(.....              

    // Check whether we're recreating a previously destroyed instance
    if (savedInstanceState != null) {
        // Restore value of members from saved state
        mEditText1.setText(savedInstanceState.getString(INPUT1));
        mEditText2.setText(savedInstanceState.getString(INPUT2));
    }

}

また、レイアウトEditTextに追加することで、そのようなビューに個別に状態を保存するように指示することもできます。android:saveEnabled="true"

 <EditText
 android:id="@android:id/text1"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:saveEnabled="true"
 android:inputType="text"/>
于 2013-08-16T05:52:54.263 に答える