Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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
Android 如何使用其他活动的切换按钮从现有活动转移控制流_Android_Android Intent_Toggle_Togglebutton - Fatal编程技术网

Android 如何使用其他活动的切换按钮从现有活动转移控制流

Android 如何使用其他活动的切换按钮从现有活动转移控制流,android,android-intent,toggle,togglebutton,Android,Android Intent,Toggle,Togglebutton,我已经制作了一个名为Activity1.xml、Activity2.xml、Activity3.xml、Activity4.xml的应用程序。在Activity1中,我放置了一个带有“是”和“否”的“切换按钮”,现在我的第一个活动也有“下一步”按钮,当按下“Activity2.xml”时,它也会打开,它也有“下一步”按钮,现在的重点是当按下“活动2”将检查“活动1”的“切换按钮”,如果是“是”,则应转到“活动3”,否则为“活动4”…我已按以下方式尝试,但不起作用,请帮助我,实际上我不知道如何操作

我已经制作了一个名为Activity1.xml、Activity2.xml、Activity3.xml、Activity4.xml的应用程序。在Activity1中,我放置了一个带有“是”和“否”的“切换按钮”,现在我的第一个活动也有“下一步”按钮,当按下“Activity2.xml”时,它也会打开,它也有“下一步”按钮,现在的重点是当按下“活动2”将检查“活动1”的“切换按钮”,如果是“是”,则应转到“活动3”,否则为“活动4”…我已按以下方式尝试,但不起作用,请帮助我,实际上我不知道如何操作请:

活动1.java

btn2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
             Intent intent = new Intent(Calculator_1Activity.this, Calculator2.class);
                intent.putExtra("toggleBtn", tg.isChecked());
                startActivity(intent);
        }
    });
  btn2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
             if(val==true){
                    Intent iq=new Intent(Calculator2.this,Deposit.class);
                    startActivity(iq);
                }
                else{
                    Intent ir= new Intent(Calculator2.this,Calculator_3Activity.class);
                    startActivity(ir);
                }

        }
    });
在activity2.java中

btn2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
             Intent intent = new Intent(Calculator_1Activity.this, Calculator2.class);
                intent.putExtra("toggleBtn", tg.isChecked());
                startActivity(intent);
        }
    });
  btn2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
             if(val==true){
                    Intent iq=new Intent(Calculator2.this,Deposit.class);
                    startActivity(iq);
                }
                else{
                    Intent ir= new Intent(Calculator2.this,Calculator_3Activity.class);
                    startActivity(ir);
                }

        }
    });
仍然不起作用

我放了一些图片以便更好地理解

Activity1.xml 活动2 活动3 活动4

您需要使用一个布尔字段来检查在“下一步”按钮上是否单击了ToggleButton,单击其他活动(如Activity1、Activity2等)

使用
Intent.putExtra
将切换按钮的状态发送到其他活动,如下所示:

public static boolean status=false;
tg.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
          if (isChecked) {
             Intent ia = new Intent(Calculator_1Activity.this,Calculator2.class);
             status=true;
             ia.putExtra("tg_status", status); //<< send button status here
             startActivity(ia);
          } else {
              // The toggle is disabled
             Intent ib = new Intent(Calculator_1Activity.this,Calculator2.class);
             status=false;
             ia.putExtra("tg_status", status); //<< send button status here
             startActivity(ib);
           }
    }
});
public静态布尔状态=false;
setOnCheckedChangeListener(新的CompoundButton.OnCheckedChangeListener(){
检查更改后的公共无效(复合按钮视图,布尔值已检查){
如果(已检查){
Intent ia=新的Intent(Calculator_1活动。this,Calculator2.class);
状态=真;

ia.putExtra(“tg_status”,status);//当从活动1打开活动2时,将切换按钮的值作为布尔值(选中或不选中)一起发送到intent extra…中,只需在活动2中根据从活动1收到的值执行操作过程

   Intent intent = new Intent(this, NextActivity.class);
   intent.putExtras("toggleBtn", toggleButton.isChecked());
在activity2/NextActivity中,通过获取oncreate中切换btn的值

   boolean val= getIntent().getExtras().getBoolean("toggleBtn");

基于val,在下一个btn点击监听器中启动activity3或activity4,你能告诉我如何在activity2@其“next”按钮中使用它吗?谢谢你在下一个按钮上尝试过它点击
if(Calculator_1Activity.status){}else{}
在activity2中我已经尝试过你的代码,但它只在“if”上工作,不在“else”中“:if(Calculator_1Activity.status=true){Intent ix=new Intent(Calculator2.this,Deposit.class);startActivity(ix);}else{Intent iy=new Intent(Calculator2.this,Calculator_3Activity.class);startActivity(iy);}@jimmycool:use if(计算器1活动状态==真)相反,Calculator_1Activity.status=True我已编辑了我的问题,并添加了代码,但项目不起作用…请在activity1中帮助启动activity2发送切换BTN状态通过上述意图/额外,并在activity2下一步按钮中单击侦听器使用该值。将值发送到activity1代码后,无需在activity1中使用checklistenervity2并将其存储为布尔值在活动2的下一个btn侦听器中使用该布尔值。发布活动2的代码下一个btn单击侦听器我已经按照您的建议编辑了我的代码,但它不工作,请检查它。发生了什么事?你说不工作是什么意思,它总是打开Deposit.class还是Calculator\u 1Activity.class..or您是否收到错误:)…您是否可以发布如何在Activity2中填充布尔“val”的代码您是否可以发布如何在Activity2中填充布尔“val”的代码..发布oncreate of Activity2的代码