2011-11-04 16 views
0

公共類超活性延伸活動{我像一個遊戲菜單的菜單,但點擊時不會轉到頁按鈕代碼

@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個按鈕,我試圖讓現在就工作。代碼是建立按鈕,並應該引導用戶訪問頁面,當他們點擊某個按鈕時:註冊和登錄是正在使用的按鈕,所以我需要知道我是否錯過了某些東西或代碼是否完全錯誤以便得到的按鈕去指定頁面

+0

你得到的錯誤是什麼?關於我的頭頂,你是否確定其他活動是在清單中聲明的​​? – Chris

+0

嘗試刪除'Private Context SuperActivity;'並用'SuperActivity.this'替換'this.SuperActivity'。 –

+0

應用程序意外停止是我按兩個按鈕時發生的錯誤...並且是在我的清單文件中聲明 –

回答

1

這是你的問題:

Register.setOnClickListener(new View.OnClickListener() { 

    private Context SuperActivity; 

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

你宣佈另一超活性類,但從來沒有實例,然後傳遞到你正在構建新的意向。意圖的構造函數需要一個上下文的實例,你傳遞null。

要修復它,擺脫private Context SuperActivity,因爲你不需要它,而不是你的意圖構造函數傳遞this.SuperActivity,使用SuperActivity.this代替,如:

registerButton.setOnClickListener(new View.OnClickListener() {   

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

還要注意在Register你的原始代碼不是你的按鈕...

+0

+1,但你的術語是關閉的:沒有*類*在這裏被聲明,只是一個*字段*與非常混亂的名稱SuperActivity(到OP:請查看[Java命名約定](http://www.oracle.com/technetwork/java/codeconventions-135099.html#367))。該字段不是* initalized *,所以它是'null',這很可能在觸發'Intent'時導致錯誤。 –

+0

@Philipp,我到底需要做什麼?我在Eclipse中工作相對較新... –

+0

感謝Philipp! @Shaye將我的答案中的代碼替換爲您的onClickListener。 – Pedantic

相關問題