У меня есть код для меню, такого как игровое меню, но кнопка при нажатии не переходит на страницу - PullRequest
0 голосов
/ 04 ноября 2011

открытый класс SuperActivity расширяет действие {

@Override
public void onCreate(Bundle icicle) {
     super.onCreate(icicle);
     setContentView(R.layout.main);

     @SuppressWarnings("unused")
    Button registerButton = (Button) findViewById(R.id.register_button);
     Register.setOnClickListener(new View.OnClickListener() {

            private Context SuperActivity;

            public void onClick(View view) {
                 Intent myIntent = new Intent(this.SuperActivity, Register.class);
                 startActivity(myIntent);
             }

     });

     Button Login = (Button) findViewById(R.id.Login);
     Login.setOnClickListener(new View.OnClickListener() {

            private Context SuperActivity;

            public void onClick(View view) {
                 Intent myIntent = new Intent(this.SuperActivity, Login.class);
                 startActivity(myIntent);
             }

     });

    };}

В коде только 2 кнопки, которые я пытаюсь заставить работать прямо сейчас. Код устанавливает кнопки и должен направлять пользователя на страницу, когда он нажимает на определенную кнопку: кнопки «Регистрация» и «Вход» - это используемые кнопки, поэтому мне нужно знать, что я что-то упустил или код совершенно неверный, чтобы получить кнопки для перехода на назначенную страницу

1 Ответ

1 голос
/ 04 ноября 2011

Вот ваша проблема:

Register.setOnClickListener(new View.OnClickListener() {

    private Context SuperActivity;

    public void onClick(View view) {
         Intent myIntent = new Intent(this.SuperActivity, Register.class);
         startActivity(myIntent);
    }
    ...

Вы объявляете другой класс SuperActivity, но никогда не создаете его экземпляр, а затем передаете его в новое намерение, которое вы создаете.Конструктор Intent нуждается в экземпляре контекста, вы передаете ноль.

Чтобы исправить это, избавьтесь от private Context SuperActivity, так как он вам не нужен, и вместоПередав this.SuperActivity в конструктор Intent, используйте вместо него SuperActivity.this, например:

registerButton.setOnClickListener(new View.OnClickListener() {        

    public void onClick(View view) {
         Intent myIntent = new Intent(SuperActivity.this, Register.class);
         startActivity(myIntent);
    }
    ...

Также обратите внимание, что Register в вашем исходном коде не ваша кнопка ...

...