1

私は新しい Android 開発者です。

iOS にはUINavigationController、新しい viewController をスタックにプッシュし、「戻る」ボタンを押して前のビューに戻ることができるクラスが呼び出されます。

[self pushViewController: myViewController animated:YES]

私の知る限り、のインスタンスにUINavigationControllerはコントローラーを保持するプロパティがあります。したがって、各コントローラのすべての属性もスタックに保存されます。

Androidでも同様のことができるかどうか疑問に思っています。これで、分割ビューを iOS としてシミュレートする 2 つのフラグメントができました。ListFragment左側に `lsit ビュー* を表すサブクラスを作成し、右側にアイテムの詳細を表す別のフラグメントをサブクラス化します。

ユーザーがリスト ビュー内のアイテムの 1 つをタップすると、別のリストに移動します。

        SecondFragment newFragment = new SecondFragment();

        FragmentTransaction transaction = getSupportFragmentManager()
                .beginTransaction();

        transaction.replace(R.id.fragment_container, newFragment);
        transaction
                .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        getActionBar().setTitle("new items");

        transaction.commit();

        getActionBar().setDisplayHomeAsUpEnabled(true);
        invalidateOptionsMenu();

しかし、戻るボタンをクリックして前のビューに戻りたいです。次のようにコードを追加する必要があることを認識しています。

transaction.addToBackStack(null);

ただし、戻るボタンをタップするとアプリケーションが終了します。

戻りたい場合は、別のFragment取引を行う必要があります。ListFragment問題は、コンテンツを に保存するのではなく、項目リストとして保存したいということMainActivityです。以前のリスト ビューのコンテンツをスタックから取得する方がはるかに簡単です。

AndroidでiOSで同様のことを行う方法はありますUINavigationControllerか?

4

0 に答える 0