如何在view.onClickListener中实现方法

时间:2012-08-21 17:58:35

标签: java android eclipse

您好我在我的应用程序的一些检查中添加了检查服务器是否已启动。所以我把一个方法放入view.OnclickListener,我得到了一些错误。 我收到了这个错误

  

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

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

EDIT 我不输入我的代码是不好的 这是我的代码:

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

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

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

3 个答案:

答案 0 :(得分:1)

您可能需要引用定义OnClickListener的外部类。例如,假设您的Activity被称为MyActivity。然后,像这样调用你的方法:

MyActivity.this.serverRespond();

答案 1 :(得分:0)

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

答案 2 :(得分:0)

OnClickListener是一个接口,您无法向其添加方法。

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

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

当然这只是一种做法...... 当我们需要很多回调是一个很好的做法来创建特定于侦听器的类,所以活动代码不是太大。