2011-07-28 3 views
0

私はアンドロイドが初めてです。ウィンドウ間を移動する方法を理解するための少し助けが必要です。私はsetContentView(R.layout.main)を使用してxmlレイアウトファイルを読み込むことを知っていますが、別のレイアウトファイルにどうやってスワップするのですか?私は、ボタン上でonClickメソッドを使用し、setContentView(R.layout.other_layout)を変更すると仮定しますが、これをすべて私の主なアクティビティの中で実行すると、コードが乱雑になりますか?私は簡単に10000 + LOCを持つことができます。誰かがこれを行う正しい方法を説明することができます。ありがとうAndroid moving 'windows'

答えて

3

インテントを使用すると、現在のアクティビティから別のアクティビティを呼び出すことができます。たとえば、現在のアクティビティがAct1で、別のアクティビティAct2に移動したいとします。これは次のようにして実行できます。

Intent i = new Intent(Act1.this, Act2.class); 
startactivity(i); 

詳細については、http://developer.android.com/guide/topics/intents/intents-filters.htmlを参照してください。

もう1つのオプションは、レイアウトを変更するためにsetContentView()を2回呼び出すことです。

1

インテントを使用して他のアクティビティを起動します。あなたの現在の活動(すなわちウィンドウ)で

、新しい活動

Intent i = new Intent(this, NewActivityName.class); 
startActivity(i); 
+0

「this」は何を指していますか? – dotty

+0

'this'は、2番目の' Activity'を起動したい現在の 'Activity'を参照しています。 – sparkymat

0

を起動するには、次のコードを実行することができますあなたはActivitiesを作成する必要があります。アクティビティは、デスクトップのウィンドウ/フレームの概念と同等です。各アクティビティには、ユーザーとのやりとりに向けた目標が必要です。入力を取り、出力を表示します。あなたのケースでは、2つのアクティビティを作成し、どちらも独自のレイアウトXMLと内のsetContentView()への呼び出しを持つ必要があります。

オンボタンクリックstartActivity()を使用して新しいボタンを呼び出します。これらの活動は互いに積み重なっていることに留意してください。

0

Androidで表示される画面は、アクティビティによって表されます。そのため、別のレイアウトファイルを同じアクティビティに読み込む代わりに、独自のレイアウトとJavaファイルを使用して新しいアクティビティを簡単に作成できます。 最初のアクティビティからこの2番目のアクティビティを呼び出すか、または一般的なアクティビティ間で通信するために、インテントと呼ばれる用途を使用します。 AndroidのDev-Guiでちょうどthat chapterを見てください。

関連する問題