附加意图

时间:2015-05-14 22:28:37

标签: java android android-intent

在我陈述我的问题之前,我想说的是我对Android Studio和Java相当新。我一直在学习,并且从错误中吸取教训。所以对我很轻松,我是新手:P

所以我在Android Studio中开始了一个项目。在我的主要活动中,我创建了两个按钮 - “注册”和“登录”

现在我已成功创建并意图使用“注册”按钮转到新活动(第二项活动)

但问题是我的“登录”按钮。为什么当我点击“登录”按钮时它没有响应并直接进入另一个新活动(第三个活动),因为我创建了onClickListener?

我必须点击“注册”按钮进入注册活动,然后按“返回”然后它允许我点击登录按钮转到登录活动。

我真的希望这是有道理的。

如果有人回复我,我将不胜感激。这可能是一个非常简单的修复,但正如我所说,我是一个新手肩膀耸肩

但是,现在我只是修补一下并尝试解决它

提前致谢!

(如果您希望我发布相关代码,请告诉我。)

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);

2 个答案:

答案 0 :(得分:0)

这是因为您在点击注册后仅链接点击侦听器以进行登录,在此之前,该按钮没有点击侦听器。

您的代码应该是这样的

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);
                     }
});

答案 1 :(得分:0)

我对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;
        }
    }
}

还发现它可以让以后更容易阅读/编辑代码。