Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从其他活动更改开关/切换按钮状态_Java_Android - Fatal编程技术网

Java 如何从其他活动更改开关/切换按钮状态

Java 如何从其他活动更改开关/切换按钮状态,java,android,Java,Android,我做过这样的事。我从第二个活动收到“真”值,当我收到该值时,它应将我的开关按钮状态更改为关闭。因为我们需要手动将开关置于ON位置。我认为它应该起作用,但它没有起作用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

我做过这样的事。我从第二个活动收到“真”值,当我收到该值时,它应将我的开关按钮状态更改为关闭。因为我们需要手动将开关置于ON位置。我认为它应该起作用,但它没有起作用

@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();

说right
isChecked
不是
ToggleButton
中的静态方法,所以需要使用
ToggleButton
对象来访问它。为什么不使用
((ToggleButton)视图).isChecked()
而不是
ToggleButton.isChecked()
?在
ToggleButton
中说right
isChecked
不是静态方法,所以需要使用
ToggleButton
对象来访问它。为什么不使用
((ToggleButton)视图).isChecked()
而不是
ToggleButton.isChecked()
?错误:(66,19)错误:找不到适用于putexts(字符串,布尔值)方法意图的方法。putexts(意图)不适用(实际参数列表和形式参数列表长度不同)方法意图。putexts(Bundle)不适用(实际参数列表和形式参数列表的长度不同)我以前试图这样做,但当我看到以下消息时,我停止了:(非常感谢它的工作!!很高兴帮助您@kociolekpanoramixa:)错误:(66,19)错误:找不到适合putExtras(字符串,布尔值)方法意图的方法。putExtras(意图)不适用(实际参数列表和形式参数列表长度不同)方法意图。putExtras(Bundle)不适用(实际参数列表和形式参数列表长度不同)我以前尝试过这样做,但当我看到以下消息时我停止了:(非常感谢它的工作!!很高兴帮助您@kociolekpanoramixa:)