Java AndEngine和Android:on在for循环中重新触摸,不保持唯一性

Java AndEngine和Android:on在for循环中重新触摸,不保持唯一性,java,android,andengine,Java,Android,Andengine,我第一次使用安卓的安卓引擎。我正在创建一个简单的文本列表,它只需要能够调用相同的方法,但根据其在列表中的位置发送不同的变量。列表不需要滚动,而且很短。我决定使用简单的文本,并创建了一个for循环,以便从字符串数组中为我生成它们 循环可以正常工作并创建文本,但在触摸时,它们都会执行最后一次触摸指定,而不是相应的触摸指定 onAreaTouched代码是否需要引用,或者一旦触摸区域注册,它是否保存在某个位置 这是: for(x =1; x<base.locale.length;x++){

我第一次使用安卓的安卓引擎。我正在创建一个简单的文本列表,它只需要能够调用相同的方法,但根据其在列表中的位置发送不同的变量。列表不需要滚动,而且很短。我决定使用简单的文本,并创建了一个for循环,以便从字符串数组中为我生成它们

循环可以正常工作并创建文本,但在触摸时,它们都会执行最后一次触摸指定,而不是相应的触摸指定

onAreaTouched代码是否需要引用,或者一旦触摸区域注册,它是否保存在某个位置

这是:

  for(x =1; x<base.locale.length;x++){
                 textLoc[x-1]=new Text(10,(110+(x*30)),base.getmFont(),
                                        base.locale[x],HorizontalAlign.CENTER){
                    @Override
                    public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {

                        base.moveListen(Integer.toString(x));
                loadNewScene();
                        return true;
                    }

                };

              scene.getLastChild().attachChild(textLoc[x]);
              scene.registerTouchArea(textLoc[x]);

            }

for(x=1;x该代码是否编译?如此行所示:

base.moveListen(Integer.toString(x))

您正在引用非最终循环变量x