如何在Java中引用内部方法中的接口

时间:2013-08-23 01:59:33

标签: android interface

我仍然是Java编程的新手,我刚学会了如何创建自己的监听器,而且我被困在以下。我有一个类,它实现了我在另一个类中创建的接口。代码如下。

public class MainActivity extends Activity  implements AsyncClassSocket.Listener{   
AsyncClassSocket thesocketclass = new AsyncClassSocket();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    thesocketclass.registerListener(this);

    //More codes
    }
}

@Override
public void onReplyFromServer(boolean state) {
    //Codes
}

以上代码工作正常。但是,当我将代码放入如下的内部方法时

showProgressDialog.setOnClickListener(new View.OnClickListener() {          
        @Override
        public void onClick(View v) {
            thesocketclass = new AsyncClassSocket();
            thesocketclass.registerListener(this); <---- Problem
            showProgressDialog();   
            thesocketclass.execute();               
        }
    });     
} 

我不能再引用我的界面,因为它现在将引用View.OnClickListener()。我的问题是如何在内部方法中返回接口?

1 个答案:

答案 0 :(得分:3)

只需使用MainActivity.this即可获得主要活动参考。