所以我在活动家中有:
setContentView(R.layout.home);
现在,在Home活动中,可以转到设置活动,其中包含:
setContentView(R.layout.settings);
它有几个CheckBoxes和EditTexts。
是否可以在Home活动中编辑这些复选框的状态?
我已经在家中宣布他们是这样的:
CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
找到ID就好了,但应用程序在我尝试
的行上崩溃了checkBox1.setChecked(true);
是否无法从其他活动访问它?
谢谢
答案 0 :(得分:1)
通常,活动不能直接修改另一个活动的视图元素,因为Android不保证每个活动的生命周期。活动A可以调用活动B,但如果在显示B时内存不足,则可能会销毁A.
您需要使用意图将数据从一个活动传递到另一个活动。
答案 1 :(得分: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");
^^^^