2013-08-23 57 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