0

私はfirst.classとsecond.classを持っています。second.classにいるボタンをクリックして、first.classのContentView(xmlファイル)を変更するにはどうすればよいですか? (私の質問は単純すぎるかもしれませんが、答えが見つかりません。)

4

2 に答える 2

1

シンプルなフラグを使用できます。バンドルまたはディスクから最初のアクティビティのフラグを読み取ります (データ ストレージを参照)。最初のアクティビティのonCreate()メソッドでは、次のようなものを使用します。

// Read the flag, in this case from an Intent
int choice = 0;
Intent intent = getIntent();
if(intent != null)
    choice = intent.getIntExtra(LAYOUT_PREFERENCE, 0);

// Load the appropriate layout
switch(choice) {
case 0: 
    setContentView(R.layout.one);
    break;
case 1:
    setContentView(R.layout.two);
    break;
//etc
}

2 番目のアクティビティ、特にボタンの OnClickListener 内でこのフラグを設定します。setResult()ここでも、または経由で渡すことができる単純なバンドルを使用しましたstartActivity()

于 2013-01-14T17:26:29.567 に答える
0

最初のアクティビティ(layout1またはlayout2)の設定をどこかに保存する必要があります。ここで、両方のアクティビティが値にアクセスでき、2番目のアクティビティも値を書き込むことができます。SharedPreferences、静的変数、またはAndroidデベロッパーガイドに記載されているほとんどすべてのものを使用できます。

常に2番目のアクティビティから最初のアクティビティを開始する場合は、呼び出し元のインテントに追加としてレイアウトを追加することもできます。

于 2013-01-14T17:27:53.387 に答える