starwar2012 2013-08-23 03:36 采纳率: 0%
浏览 2020
已采纳

在内部方法关联一个接口

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

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

  • 写回答

2条回答

  • 寒江独 2013-08-23 08:36
    关注
    thesocketclass.registerListener(MainActivity.this); <---- Problem
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题