0

配列に 1 つ以上のオブジェクトがある場合にボタンを表示しようとしています。それ以外の場合は表示されません。

私は慣れています:

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 に答える