Java 如何从其他活动更改开关/切换按钮状态
我做过这样的事。我从第二个活动收到“真”值,当我收到该值时,它应将我的开关按钮状态更改为关闭。因为我们需要手动将开关置于ON位置。我认为它应该起作用,但它没有起作用Java 如何从其他活动更改开关/切换按钮状态,java,android,Java,Android,我做过这样的事。我从第二个活动收到“真”值,当我收到该值时,它应将我的开关按钮状态更改为关闭。因为我们需要手动将开关置于ON位置。我认为它应该起作用,但它没有起作用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
alarmTimePicker = (TimePicker) findViewById(R.id.alarmTimePicker);
//ToggleButton alarmToggle = (ToggleButton) findViewById(R.id.alarmToggle);
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
final Switch sswitch = (Switch) findViewById(R.id.alarmToggle);
sswitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean val) {
val = getIntent().getBooleanExtra("toggleBtn", false);
if(val)
{
sswitch.setChecked(false);
}
}
});
}
在第二个活动中,正如我所说,我会将该值发送给第一个
public void backtomain(View view)
{
Intent intent = new Intent(this, AalarmActivity.class);
intent.putExtra("toggleBtn", true);
finish();
}
您可以在第一次检查时询问是否已检查
,如果:
((ToggleButton)view).isChecked();
然后在您的意图中输入以下内容:
intent.putExtras("toggleBtn", ((ToggleButton)view).isChecked());
编辑
根据您的代码,只有当切换按钮
为真时,它才会发出意图
,不是吗?然后,如果它进入if
则意味着启用了切换按钮
,因此不是通过((切换按钮)视图)。在putExtras
上选中()
编辑2
我想你忘了在以下位置安装startActivity()
:
Intent intent = new Intent(this, AalarmActivity.class);
intent.putExtra("toggleBtn", true);
startActivity(intent);
finish();
您可以在第一次检查时询问是否已检查
,如果:
((ToggleButton)view).isChecked();
然后在您的意图中输入以下内容:
intent.putExtras("toggleBtn", ((ToggleButton)view).isChecked());
编辑
根据您的代码,只有当切换按钮
为真时,它才会发出意图
,不是吗?然后,如果它进入if
则意味着启用了切换按钮
,因此不是通过((切换按钮)视图)。在putExtras
上选中()
编辑2
我想你忘了在以下位置安装startActivity()
:
Intent intent = new Intent(this, AalarmActivity.class);
intent.putExtra("toggleBtn", true);
startActivity(intent);
finish();
说rightisChecked
不是ToggleButton
中的静态方法,所以需要使用ToggleButton
对象来访问它。为什么不使用((ToggleButton)视图).isChecked()
而不是ToggleButton.isChecked()
?在ToggleButton
中说rightisChecked
不是静态方法,所以需要使用ToggleButton
对象来访问它。为什么不使用((ToggleButton)视图).isChecked()
而不是ToggleButton.isChecked()
?错误:(66,19)错误:找不到适用于putexts(字符串,布尔值)方法意图的方法。putexts(意图)不适用(实际参数列表和形式参数列表长度不同)方法意图。putexts(Bundle)不适用(实际参数列表和形式参数列表的长度不同)我以前试图这样做,但当我看到以下消息时,我停止了:(非常感谢它的工作!!很高兴帮助您@kociolekpanoramixa:)错误:(66,19)错误:找不到适合putExtras(字符串,布尔值)方法意图的方法。putExtras(意图)不适用(实际参数列表和形式参数列表长度不同)方法意图。putExtras(Bundle)不适用(实际参数列表和形式参数列表长度不同)我以前尝试过这样做,但当我看到以下消息时我停止了:(非常感谢它的工作!!很高兴帮助您@kociolekpanoramixa:)