0

我是 Android 应用程序开发的新手,我一直在开发一个简单的 FlashLight 应用程序,它可以在屏幕上的各种颜色之间切换。初始活动绘制了一个只有 2 个按钮的布局,分别标记为绿色和蓝色。我已经在两个按钮上安装了 Click Listeners 并在它们上设置了意图,以便每个都加载它的相应活动,但是当我运行应用程序时,我只能从第一个视图转到其他视图中的一个(绿色或蓝色,但不是两者都有)。我希望能够选择任一按钮并加载下一个活动,但我有点迷茫。也许创建一个布尔值来确定用户单击了哪个按钮?身份证。这可能听起来有点令人困惑,因为我不擅长描述这样的技术性事物,但下面是我的代码。

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。因此,只有在用户单击 bluebotton 时才会设置侦听器。还是我在这里遗漏了什么?

为 bluebutton 的 listnere 之外的 greenbutton 设置 onclick 侦听器,它应该可以工作..

于 2011-09-18T21:02:27.667 回答