我第一次使用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]);
}
答案 0 :(得分:0)
该代码是否编译?如同这一行:
base.moveListen(Integer.toString(X));
您正在引用非最终循环变量x。