更改匿名类实现中的公共实例的值?

时间:2015-03-06 22:22:06

标签: java eclipse libgdx anonymous-class

以下是我目前正在做的事情的示例代码

Class classA{

    public int changeit=1;

    Button obj;

    create(){
        Obj.addlistener(new inputlistener(){
            void touchdown(....){changeit=2;}
        });
    }

    int getvalue(){
        return changeit;
    }

}

但是getvalue()永远不会返回它始终返回的更改值1。 请建议是否有更好的方法,或者我应该为inputListener创建一个子类。

2 个答案:

答案 0 :(得分:0)

首先,您遇到一些案例错误。通常,Java遵循骆驼套管约定。其次,因为您在匿名内部类中,所以必须指定您指的是哪个对象:

// inside the anonymous class 

classA.this.changeit = -2;

答案 1 :(得分:0)

谢谢大家的时间,但我终于得到了泄漏,这与任何基本面无关,而是人为错误。我已经注释掉代码来更新以bitmaptext形式在屏幕上绘制实例的文本。 使用logcat调试它,这是我的发现 您可以直接更改匿名类中的实例 你不需要这个关键字,除非实例的名称与课程不同。

谢谢。