Интерфейс OnClickListener не может использовать мой метод onClick? - PullRequest
0 голосов
/ 31 марта 2012

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

http://www.bilder -space.de / show_img.php? IMG = 7371f3-1333218887.jpg & размер = оригинальный

и код:

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

Почему затмение дает мне эти ошибки?

Ответы [ 4 ]

3 голосов
/ 01 апреля 2012

вы можете использовать onclick внутри вашего метода onCreate, как этот

 @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

        }
    });
}
2 голосов
/ 31 марта 2012

Вам нужно вывести onClick из метода onCreate . Вложенные объявления методов не допускаются в программировании.

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 голосов
/ 31 марта 2012

Вы определили метод onClick внутри метода onCreate.

0 голосов
/ 31 марта 2012

Вы не можете иметь метод внутри другого метода в Java. Поместите onClick() после onCreate(), а не внутри it.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...