我是Android应用程序开发的新手,我一直在研究一个简单的FlashLight应用程序,它可以在屏幕上切换各种颜色。初始活动仅使用2个按钮绘制布局,标记为绿色和蓝色。我已在两个按钮上安装了Click Listeners,并在它们上设置了两个意图,以便每个按钮加载它的相应活动,但是当我运行应用程序时,我只能从第一个视图转到其他视图之一(Green OR Blue,但不是两个)。我希望能够选择EITHER按钮并加载下一个活动,但我有点迷失。也许创建一个布尔值来确定用户点击了哪个按钮? 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;
}
}
答案 0 :(得分:1)
您正在为bluebotton的onclick事件中的绿色按钮设置onclicklistener。所以只有在用户点击蓝色按钮时才会设置监听器。或者我在这里错过了什么?
为蓝色按钮设置listnere之外的绿色按钮的onclick监听器,它应该可以工作..