簡體   English   中英

接口OnClickListener不能使用我的onClick方法嗎?

[英]Interface OnClickListener cannot use my onClick Method?

這是我的大問題:

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

蝕為什么給我這個錯誤?

您可以像這樣在onCreate方法中使用onclick

 @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

        }
    });
}

您需要將onClickonCreate方法中刪除。 編程中不允許使用嵌套方法聲明。

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

在Java中,您不能在另一個方法中包含一個方法。 onClick() onCreate()而不是里面

您已經在onCreate方法內部定義了onClick方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM