本帖最后由 cy0208 于 2014-08-07 19:29:43 编辑

解决方案 »

  1.   

    在内部类中调用外部的变量必须加final 保证变量的地址不变,也就是不会指向其他变量。
      

  2.   


    MainActivity就是外部类啊,new 的这个OnClickListener其实就是一个匿名的内部类
      

  3.   

    多谢多谢,经你指点好像能理解了。还有个问题,类似于 new A()的A()都是是匿名类吗
      

  4.   

    new A(){写在这个中括号里的都是关于这个匿名类的定义,引用外部的变量除了static的都要final。}
    如果只是new A();只是初始化了一个对象,不算内部匿名类,因为没有该类的定义。