0

我仍然是 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()。我的问题是如何在内部方法中引用接口?

4

1 回答 1

3

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

于 2013-08-23T02:01:07.877 回答