我是Android应用程序开发的新手,我一直在开发一个简单的手电筒应用程序,它可以在屏幕上切换各种颜色。初始活动绘制了一个只有两个按钮的布局,分别标记为绿色和蓝色。我已经在两个按钮上安装了点击监听器,并在它们上设置意图,以便每个按钮都加载相应的活动,但是当我运行应用程序时,我只能从第一个视图到另一个视图(绿色或蓝色,但不是两者)。我希望能够选择任意一个按钮并加载下一个活动,但我有点失落。也许创建一个布尔值来确定用户点击了哪个按钮?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;
}
}
您正在为蓝按钮的onclick事件中的绿色按钮设置onclicklistener。因此,侦听器只有在用户单击蓝按钮时才会设置。还是我遗漏了什么?
将绿色按钮的onclick侦听器设置在蓝色按钮的侦听器之外,它应该可以工作。