0

私は Android アプリケーション開発に不慣れで、画面上のさまざまな色を切り替える単純な FlashLight アプリに取り組んできました。最初のアクティビティでは、緑と青のラベルが付いた 2 つのボタンのみを含むレイアウトを作成します。両方のボタンに Click Listeners をインストールし、両方にインテントを設定して、それぞれが対応するアクティビティをロードできるようにしましたが、アプリを実行すると、最初のビューから他のビューの 1 つ (緑または青、両方ではありません)。どちらかのボタンを選択して次のアクティビティをロードできるようにしたいのですが、少し迷っています。ユーザーがクリックしたボタンを決定するブール値を作成することはできますか? IDK。私はこのような技術的なことを説明するのが苦手なので、少し混乱するかもしれませんが、以下に私のコードを示します。

package com.jbsoft.SimpleFlashlight;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.*;
import android.widget.Button;
import android.widget.Toast;

public class SimpleFlashLightActivity extends Activity {

  Button GreenButton;
  Button BlueButton;


  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    BlueButton = (Button) findViewById(R.id.bluebutton);
    BlueButton.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

        Intent blueintent = new Intent(SimpleFlashLightActivity.this,
                                       BlueFlashLightActivity.class);
        startActivity(blueintent);

        Toast.makeText(v.getContext(), "SWITCH COLOR!",
                       Toast.LENGTH_LONG);

        GreenButton = (Button) findViewById(R.id.bluebutton);
        GreenButton.setOnClickListener(new View.OnClickListener() {

          public void onClick(View v) {

            Intent greenintent = new Intent(
              SimpleFlashLightActivity.this,
              GreenFlashLightActivty.class);
            startActivity(greenintent);

          }
        });
      }
    });

  }

  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater mi = getMenuInflater();
    mi.inflate(R.menu.list_menu, menu);
    return true;
  }

}
4

1 に答える 1

1

bluebottonのonclickイベントでgreenbuttonのonclicklistenerを設定しています。したがって、リスナーは、ユーザーがブルーボタンをクリックしたときにのみ設定されます。または私はここに何かが欠けていますか?

bluebutton の listnere の外にある greenbutton の onclick リスナーを設定すると、動作するはずです。

于 2011-09-18T21:02:27.667 に答える