2012-03-31 6 views
0

は私の大きな問題である:インターフェイスOnClickListenerは、私のonClickメソッドを使用できませんか?ここ

http://www.bilder-space.de/show_img.php?img=7371f3-1333218887.jpg&size=original

やコード:

package org.madmax.sudoku; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 

public class SudokuActivity extends Activity implements OnClickListener { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //Set up Click Listener for all Buttons 
     View continueButton = findViewById(R.id.continue_button); 
     continueButton.setOnClickListener(this); 
     View newButton = findViewById(R.id.new_button); 
     newButton.setOnClickListener(this); 

     public void onClick(View v) { 
      switch(v.getId()) { 
      case R.id.about_button: 
       Intent i = new Intent(this, About.class); 
       startActivity(i); 
       break; 
      } 
     } 

    } 
} 

エラーは次のとおりです。

-void is an invalid type for the variable onCLick() 

なぜ日食私は、このエラーを与えるのでしょうか?

答えて

2

オンクリックから作成する必要があります。を作成してください。ネストされたメソッドの宣言はプログラミングでは許可されません。

package org.madmax.sudoku; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 

public class SudokuActivity extends Activity implements OnClickListener { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //Set up Click Listener for all Buttons 
     View continueButton = findViewById(R.id.continue_button); 
     continueButton.setOnClickListener(this); 
     View newButton = findViewById(R.id.new_button); 
     newButton.setOnClickListener(this); 
    } 

    public void onClick(View v) { 
     switch(v.getId()) { 
     case R.id.about_button: 
      Intent i = new Intent(this, About.class); 
      startActivity(i); 
      break; 
     } 
    } 
} 
0

Javaの別のメソッドの中にメソッドを持つことはできません。 onClick()内部ない、onCreate()後にそれを置きます。

0

方法onCreateメソッド内でonClickメソッドを定義しました。

3
あなたはこの

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



    Button newButton = findViewById(R.id.new_button); 
    newButton.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // your code here 

     } 
    }); 
} 
のようなあなたのonCreateメソッド内でonclickを使用することができます

関連する問題