2010-11-20 25 views
0

私のアプリケーションでは2つの画面が必要です。このためにRelativeLayoutを使用して2つの異なるXMLレイアウトファイルを作成しました。アクティビティを実行するたびに、1つのレイアウトファイルが読み込まれます。今度はOptionsMenuのボタンをユーザがクリックしたときに同じActivityに2番目のレイアウトを読み込み、アプリケーションを終了する代わりに戻るボタンを押したときに最初の画面が読み込まれます。だから私は別のIntent私のアプリケーションで作成する必要はありません。Androidのレイアウトを動的にロードする

答えて

3

あなたのアプリケーションには2つの異なるアクティビティが存在するのが理想です。 ビュー内でビューコンポーネントを追加または削除することはできますが、完全に異なる2つの画面を探している場合は、新しいアクティビティをお勧めします。

私は)あなただけ(フィニッシュ最初の画面を表示したくない場合は、「しても、ときにユーザーを押しBakcボタン最初の画面負荷の代わりに、アプリケーションを終了する」

によって何を意味するのか取得活動をくぼみ。

+0

私は、自分のアクティビティでsetContentView()メソッドをもう一度呼び出し、Back(ハードウェアボタン)を押して別のレイアウトをロードすると、アプリケーションが終了することを意味します。今、私は終了したくない、代わりに私はちょうど以前のレイアウトをロードしたい。 –

+0

2つの別々の活動に参加しない特定の理由や要請がありますか?これはActivityスタックの自然な振る舞いになります。私は最初にアクティビティA(setContentViewを使用しているXML 1)で、アクティビティB(setContentViewを使用してXML 2)に移動するインテントを開始します。アクティビティBから戻るキーを押すと、アクティビティA(XML 1)に自動的に移動します。違うものをお探しですか? –

3

setContentViewを再呼び出ししようとしましたか?

それとも、ViewFlipperを使用して好むことが、

良い例here

1

私はもっと簡単な手段を提案します。

レイアウトを1つのXMLに入れ、必要に応じて適切に表示/非表示にします。

関連する問題