2012-01-08 14 views
1

私は新しいクラスを開くときに以前のクラスを破壊する方法を知る必要があるので、最初のメインクラスに戻るために '戻る'ボタンを押す必要があるオープンクラスのトンがありません。以前に開いたレイアウトを閉じるにはどうしたらいいですか?

私はのonCreate内のレイアウトコードは一般的に、この知っている:私は別のクラスを起動する意図を使用する場合ので、私はしないようにinitalクラスをしたい

setContentView(R.layout.page); 

私はsuper.destroy();

のように考えていました開いているウィンドウ/コンテンツビューを残す

答えて

1

クラス別に、別のアクティビティを意味しますか?

finish()を呼び出すことができます。あなたが意図を開始した後。

Intent intent = new Intent(activity1.this, activity2.class); 
startActivity(intent); 
finish(); 

Androidもこれらのことを自分で処理します。メモリが必要な場合、Dalvik仮想マシンは実行中の優先度の低いアクティビティを閉じます。

+0

このインテントを使用すると何らかの理由で2つのレイアウトが開きますか? – David

+0

2つのレイアウトを開いたらどういう意味ですか?私の例では、他のアクティビティを開始した後にfinishをコールできることを示しています。アプリケーションで起動が適切に機能している場合は、そのコードを使用して、別のアクティビティを開始した後でfinishを呼び出します。 –

+0

Yahその奇妙な..あなたが私のような意図にfinish()を追加すると、私はインテントを削除してfinish()を残すと、2つの新しいレイアウトを開きます。なぜ2つのレイアウトがまだ得られないのか分かりません。また、インテントで開いているものに戻ることは可能ですか? – David

0

アクティビティがシャットダウンされると、onDestroyが自動的に呼び出されます。あなたのpreviosレイアウトを削除するには、単にfinish()メソッドまたはSystem.exit(0)メソッドを呼び出すことができます。

関連する問題