我仍然是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()。我的问题是如何在内部方法中返回接口?
答案 0 :(得分:3)
只需使用MainActivity.this
即可获得主要活动参考。