2012-02-21 7 views
1

アンドロイドのアクティビティのレイアウトをクリアする簡単な方法はありますか?私は現在、複数のアクティビティにまたがるアプリケーションに取り組んでおり、プロジェクトの最終アクティビティで使用されるさまざまなアクティビティの変数を追跡する必要があります。 1つのアクティビティですべてを作成し、アクションを実行し、変数を保存し、アクティビティ画面をクリアして別のレイアウトを読み込むことが可能かどうかは疑問です。複数のアクティビティにまたがって複数の変数を追跡するよりも、はるかに簡単です。Androidのアクティビティをクリアする

答えて

3

いつでも任意のコンテンツビューを設定できます。あなたの活動が成長し、成長し、ネイティブに別々の活動に置かれるものとの相互作用を反映して成長するよう

setContentView(R.layout.main); 

//now do some stuff 

//then 

    setContentView(R.layout.someOtherLayout); 

しかし、これはすぐに(私が試した私を信じて)手に負えなくなります。より良い方法は、アプリケーションを拡張し、すべての永続変数をその中に格納することです。すべてのアクティビティは、いつでも親アプリケーションを見ることができます。アクティビティが表示されている限り、これらの変数を使用することができます。長いスリープサイクルで持続する変数が必要な場合は、それらをSharedPreferencesに格納することをお勧めしますが、プレゼンテーションをどのように構成するかは関係ありません。

+0

ありがとうございます。 – user1174834

1

レイアウトを変更するには、onCreateのように、パラメータとして新しいレイアウトを使用する以外はsetContentView(R.layout.layout_name);を呼び出してください。

他のビューの場合は、ViewFlipperを使用して、複数の異なるビュー間を移動できます。 ViewFlipperは一度にすべてのビューをロードするので、一度に3つ以上のビューを実行することはありません。これは非常に高価になる可能性があります。

オーバヘッドまではすべてがトレードオフなので、おそらくこれらのバランスを見極め、複数のアクティビティを使用してみてください。私は複数のアクティビティを使用することを恐れることはありませんが、必要に応じて上記を単純化することもできます。

0

「include」という名前のタグですべてのレイアウトを1つ読み込み、 を別のビュー/レイアウトに切り替えると、他のレイアウトを非表示にして現在のレイアウトを表示することができます。確かに、パフォーマンスが悪いです。

関連する問題