0

我第一次使用andengine for android。我正在创建一个简单的文本列表,它只需要能够调用相同的方法,但根据其在列表中的位置发送不同的变量。该列表不需要滚动并且很短。我决定使用简单的文本并创建一个 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]);

            }
4

1 回答 1

0

Does that code compile? As in this line:

base.moveListen(Integer.toString(x));

you are refering to the non-final loop-variable x.

于 2011-05-26T10:16:00.300 回答