私は以下のコードを持っています:
if(cb.isChecked())
{
selectedPlanets.add(planet.getDisplayName());
}
if (!cb.isChecked())
{
selectedPlanets.remove(planet.getDisplayName());
}
testing();
}
private void testing() {
serverString.setText(null);
Iterator<String>i = selectedPlanets.iterator();
while(i.hasNext()){
String aNum1 = i.next();
serverString.append(aNum1+",");
}
次に、selectedPlanets を反復処理する必要がありますが、削除されたものも表示されます。TextView を再度 null に設定することで、3 つ以上が選択されている場合に機能します。ただし、2 つ選択すると、チェックした惑星もリストから削除されます。
編集:この問題に遭遇した人のために、elseを使用して解決し(プログラマーのブロックが意味を失いました!)、それを機能させるために必要な他の方法を実装しました。