0

如果数组中有一个或多个对象,我试图让一个按钮变得可见,否则它将保持不可见。

我习惯了:

if (positionOverlay.geoPointsArrayList.size() <= 0){
    buttonClear.setVisibility(View.GONE);
    System.out.println("Clear button hidden");
}
else if (positionOverlay.geoPointsArrayList.size() >= 1) {
    buttonClear.setVisibility(View.VISIBLE);
    System.out.println("Clear button visible");
}

我遇到的问题是它运行并且在启动时我使用的数组是空的,所以按钮保持不可见,但是当我将对象添加到数组时它仍然不可见,这表明它不会再次运行代码。

我已将上面的代码放在 onCreate 中,谁能告诉我哪里出错了?

4

1 回答 1

3

当你改变你的对象数组时,你需要运行你拥有的代码onCreate——你现在只在启动时检查,并且根本不链接到被改变的数组。

所以在伪代码中,如果你有:

array.add("new item");
this.updateButton(); // This is where you have your button code.

array.remove("some other item");
this.updateButton(); // Check if you've gone below the limit again
于 2012-08-06T13:16:44.123 回答