2013-08-23 79 views
0

我仍然是Java编程的新手,我刚刚学会了如何创建自己的侦听器,并且我坚持以下几点。我有一个类实现与我在另一个类中创建的接口。代码如下。如何在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()。我的问题是如何在内部方法中回顾接口?

回答

3

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

+0

哦这么简单的答案。谢谢。 – wakaka