2

Activity1.xml、Activity2.xml、Activity3.xml、Activity4.xml という名前の 4 つのアクティビティを含むアプリケーションを作成しました。現在、アクティビティ 1 に「はい」と「いいえ」の「トグル ボタン」を配置しました。最初のアクティビティも「次へ」ボタンがあり、押すと「activity2.xml」が開き、「次へ」ボタンもあります。ポイントは、「アクティビティ2」の次のボタンが押されたときに「アクティビティ1」の「トグルボタン」をチェックすることです「はい」の場合は「アクティビティ 3」、それ以外の場合は「アクティビティ 4」に移動する必要があります...以下のように試してみましたが、うまくいきませんでした。

Activity1.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);
        }
    });

activity2.java

  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 ここに画像の説明を入力 Activity2 ここに画像の説明を入力 Activity3 ここに画像の説明を入力 Activity4 ここに画像の説明を入力

4

2 に答える 2

0

アクティビティ1からアクティビティ2を開くときは、トグルボタンの値をブール値(チェックされているかどうかに関係なく)として送信し、インテントエクストラで送信します...そしてアクティビティ2では、アクティビティ1から受け取った値に基づいて一連のアクションを実行します。 ..

   Intent intent = new Intent(this, NextActivity.class);
   intent.putExtras("toggleBtn", toggleButton.isChecked());

activity2 / NextActivityで、oncreateのtogglebtnの値を取得します。

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

次のbtnクリックリスナーのvalstartactivity3またはactivity4に基づく

于 2013-01-31T09:47:07.687 に答える
0

ブール値フィールドを使用して、ToggleButton がクリックされているかどうか、または Activity1、Activity2 などの他のアクティビティから [次へ] ボタンをクリックしていないかどうかを確認する必要があります。

Intent.putExtraToggleButton のステータスを他のアクティビティに次のように送信するために使用します。

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);
           }
    }
});

tg_status他のアクティビティに移動する前に、ボタンがクリックされたかどうかを確認するために使用します。

Calculator_1Activity.status他のアクティビティと同様に直接アクセスできます

于 2013-01-31T09:09:26.063 に答える