额外的意图
Additional Intents
在陈述我的问题之前,我只想说我对 Android Studio 和 Java 还很陌生。我一直在学习,并从错误中吸取教训。所以对我放轻松,我是新手 :P
所以我在 Android Studio 中开始了一个项目。在我的 Main Activity 上,我创建了两个按钮 - 'Sign up' 和 'Sign in'
现在我已经成功创建了我的 'Sign up' 按钮并打算转到新的 activity(第二个 activity)
但问题是我的 'Sign in' 按钮。为什么当我单击 'Sign in' 按钮时它没有响应并直接转到另一个新的 activity(第 3 个 activity),因为我已经创建了 onClickListener?
我必须单击 'Sign up' 按钮转到注册 activity 然后按 'back' 然后它允许我单击登录按钮转到登录 activity.
我真的希望这是有道理的。
如果有人就此回复我,我将不胜感激。这可能是一个非常简单的修复,但正如我所说,我是新手 耸肩
不过,现在我只是想办法解决一下
提前致谢!
(如果您想让我 post 相关代码,请告诉我)。
public class MainActivity extends ActionBarActivity {
private static Button Button_sbm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OnClickButtonListener();
}
public void OnClickButtonListener(){
Button_sbm = (Button) findViewById(R.id.signupbut);
Button_sbm.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.teamsix.fezzy.gosheesh.Signupactivity");
startActivity(intent);
Button signinbut = (Button) findViewById(R.id.signinbut);
signinbut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent ("com.teamsix.fezzy.gosheesh.SignIn");
startActivity(intent);
那是因为你只是在点击注册后链接了点击监听器来登录,在此之前,按钮没有点击监听器。
你的代码应该是这样的
public void OnClickButtonListener(){
Button_sbm = (Button) findViewById(R.id.signupbut);
Button_sbm.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.teamsix.fezzy.gosheesh.Signupactivity");
startActivity(intent);
}
});
Button signinbut = (Button) findViewById(R.id.signinbut);
signinbut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent ("com.teamsix.fezzy.gosheesh.SignIn");
startActivity(intent);
}
});
我对 Android 编码也很陌生,但 运行 遇到了类似的问题,我的解决方法是这样做的:
public class MainActivity extends ActionBarActivity implements OnClickListener
{
private Button Button_sbm, signinbut;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button_sbm = (Button) findViewById(R.id.signupbut);
signinbut = (Button) findViewById(R.id.signinbut);
Button_sbm.setOnClickListener(this);
signinbut.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.signupbut:
Intent intent = new Intent("com.teamsix.fezzy.gosheesh.Signupactivity");
startActivity(intent);
break;
case R.id.signinbut:
Intent intent = new Intent("com.teamsix.fezzy.gosheesh.SignIn");
startActivity(intent);
break;
}
}
}
还发现它使 read/edit 以后的代码更容易。
在陈述我的问题之前,我只想说我对 Android Studio 和 Java 还很陌生。我一直在学习,并从错误中吸取教训。所以对我放轻松,我是新手 :P
所以我在 Android Studio 中开始了一个项目。在我的 Main Activity 上,我创建了两个按钮 - 'Sign up' 和 'Sign in'
现在我已经成功创建了我的 'Sign up' 按钮并打算转到新的 activity(第二个 activity)
但问题是我的 'Sign in' 按钮。为什么当我单击 'Sign in' 按钮时它没有响应并直接转到另一个新的 activity(第 3 个 activity),因为我已经创建了 onClickListener?
我必须单击 'Sign up' 按钮转到注册 activity 然后按 'back' 然后它允许我单击登录按钮转到登录 activity.
我真的希望这是有道理的。
如果有人就此回复我,我将不胜感激。这可能是一个非常简单的修复,但正如我所说,我是新手 耸肩
不过,现在我只是想办法解决一下
提前致谢!
(如果您想让我 post 相关代码,请告诉我)。
public class MainActivity extends ActionBarActivity {
private static Button Button_sbm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OnClickButtonListener();
}
public void OnClickButtonListener(){
Button_sbm = (Button) findViewById(R.id.signupbut);
Button_sbm.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.teamsix.fezzy.gosheesh.Signupactivity");
startActivity(intent);
Button signinbut = (Button) findViewById(R.id.signinbut);
signinbut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent ("com.teamsix.fezzy.gosheesh.SignIn");
startActivity(intent);
那是因为你只是在点击注册后链接了点击监听器来登录,在此之前,按钮没有点击监听器。
你的代码应该是这样的
public void OnClickButtonListener(){
Button_sbm = (Button) findViewById(R.id.signupbut);
Button_sbm.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.teamsix.fezzy.gosheesh.Signupactivity");
startActivity(intent);
}
});
Button signinbut = (Button) findViewById(R.id.signinbut);
signinbut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent ("com.teamsix.fezzy.gosheesh.SignIn");
startActivity(intent);
}
});
我对 Android 编码也很陌生,但 运行 遇到了类似的问题,我的解决方法是这样做的:
public class MainActivity extends ActionBarActivity implements OnClickListener
{
private Button Button_sbm, signinbut;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button_sbm = (Button) findViewById(R.id.signupbut);
signinbut = (Button) findViewById(R.id.signinbut);
Button_sbm.setOnClickListener(this);
signinbut.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.signupbut:
Intent intent = new Intent("com.teamsix.fezzy.gosheesh.Signupactivity");
startActivity(intent);
break;
case R.id.signinbut:
Intent intent = new Intent("com.teamsix.fezzy.gosheesh.SignIn");
startActivity(intent);
break;
}
}
}
还发现它使 read/edit 以后的代码更容易。