Java 如何在view.onClickListener中实现方法

Java 如何在view.onClickListener中实现方法,java,android,eclipse,Java,Android,Eclipse,嗨,我为我的应用程序添加了一些检查,以检查服务器是否启动。所以我在视图中放入了一个方法。OnclickListener得到了一些错误。 我犯了这个错误 类型new View.OnClickListener()的方法serverRespond()未定义{} 所以我想问我如何解决这个问题 编辑 我的坏习惯是没有输入我的代码 这是我的密码: // save button click event btnSaveEvent.setOnClickListener(new View.OnClickLi

嗨,我为我的应用程序添加了一些检查,以检查服务器是否启动。所以我在
视图中放入了一个方法。OnclickListener
得到了一些错误。 我犯了这个错误

类型new View.OnClickListener()的方法serverRespond()未定义{}

所以我想问我如何解决这个问题

编辑 我的坏习惯是没有输入我的代码 这是我的密码:

// save button click event
    btnSaveEvent.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            if ( serverRespond() == true) {

我从上面得到了错误。这是一个java语法错误。

您不能在java中的另一个方法中包含一个方法。您可以在父类中实现该方法,并在onClick中引用它。

您可能需要引用您的
OnClickListener
在其中定义的外部类。例如,假设您的活动名为
MyActivity
。然后,像这样调用您的方法:

MyActivity.this.serverRespond();
public class MyActivity implements View.OnClickListener() {
    public void onCreate() {
        // ...
        View view = findViewById(R.id.my_view_id);
        view.setOnClickListener(this);
        //
    }

    public void onClick() {
        // do something
    }
}

OnClickListener是一个接口,不能向其中添加方法

通常在创建实现此接口的活动并将其自身传递给视图时,如下所示:

MyActivity.this.serverRespond();
public class MyActivity implements View.OnClickListener() {
    public void onCreate() {
        // ...
        View view = findViewById(R.id.my_view_id);
        view.setOnClickListener(this);
        //
    }

    public void onClick() {
        // do something
    }
}
当然这只是一种方法。。。
当我们必须进行多次回调时,创建专门作为侦听器的类是一种很好的做法,因此活动代码不会太大。

My bad。我需要使用该方法来检查是否(serverRespond()==true){您需要更新您的问题,并提供更详细的信息,例如确切的错误消息。但是我需要将方法放在内部,因为我需要检查服务器响应。我还可以做什么?您可以将方法放在实现接口的类中。在我的示例中是MyActivity。这还不够吗?