Java类列表不从另一个类中的List更新

时间:2014-01-31 06:20:42

标签: java

我确实认为答案应该已经存在,但经过一些搜索我仍然无法弄清楚我的问题..

public class cl1{   
private List<Map> world_map = new ArrayList<Map>();

public List<Map> returnmap(){
return world_map;
}

public void addtomap(float x, float y, int type){
Map tile = new Map();
tile.x = x;
tile.y = y;
tile.type = type;
world_map.add(tile);
}
}

活动类:

protected void onCreate(Bundle savedInstanceState) {
    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View vw) {

            List<Map> map = new ArrayList<Map>();
            map = robot.returnmap();

            for(int i=0;i<map.size();i++){
                txt.setText(String.valueOf(i));
            }

            cl1.addtomap(x, y, 1);
            x++;
            y++;


        }

这很好用:我可以使用我的方法从活动类添加到cl1.world_map,我也可以从我的活动类中获取world_map的值。

我有另一个班级:

protected List<Map> strap = new ArrayList<Map>();

@Override
protected void onDraw(Canvas canvas){
    super.onDraw(canvas);
    returnmap();
    canvas.drawText(String.valueOf(strap.size()), 100, 120, paint1);
}

private void returnmap(){
    strap = robot.returnmap();
}

在这里,我总是得到0的值,就像“List strap”永远不会更新?

1 个答案:

答案 0 :(得分:0)

你的'机器人'变量可能正在重新实例化,或者在你的两个类中甚至不是同一个实例,如果不是这样的话,请记住在android中有很多事件可以让你获得你的碎片或者重新实例化的活动,你应该总是保存你想要保留的状态