在内部方法关联一个接口

有一个类执行另一个类中创建的接口,代码如下:

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()

thesocketclass.registerListener(MainActivity.this); <---- Problem
        thesocketclass.registerListener(this); 

this改成你的Activity.this