1

だから私はアクティビティホームにいます:

setContentView(R.layout.home);

これで、ホーム アクティビティから、次のような設定アクティビティに移動できます。

setContentView(R.layout.settings);

いくつかの CheckBox と EditText があります。

これらのチェックボックスの状態を Home アクティビティから編集することはできますか?

私はすでに次のように Home でそれらを宣言しました:

CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1);

IDは問題なく見つかりますが、しようとした行でアプリケーションがクラッシュします

checkBox1.setChecked(true);

別のアクティビティからアクセスすることはできませんか??

ありがとうございました

4

2 に答える 2

1

一般に、Android は各アクティビティのライフサイクルに関して保証しないため、アクティビティは別のアクティビティのビュー要素を直接変更することはできません。アクティビティ A はアクティビティ B を呼び出すことができますが、B が表示されている間にメモリが不足すると、A が破棄される可能性があります。

インテントを使用して、あるアクティビティから別のアクティビティにデータを渡す必要があります。

于 2012-05-14T12:59:27.600 に答える
1

アクティビティ間でデータを渡す

例: Main.java

Intent i = new Intent(Home.this,Setting.class);
i.putExtra("check","true"); <-------- set valuse here
            ^^^^    ^^^^
startActivity(i);

そしてSetting.javaで

String str = getIntent().getExtras().getString("check");
                                                 ^^^^
于 2012-05-14T13:00:20.290 に答える