複数選択ダイアログがありますが、小さな問題があります。これはコードです:
int in;
protected void showSelectMeasurementsDialog() {
boolean[] checkedMeasurements = new boolean[measurements.length];
int count = measurements.length;
for(int i = 0; i < count; i++)
checkedMeasurements[i] = selectedMeasurements.contains(measurements[i]);
in = 0;
DialogInterface.OnMultiChoiceClickListener measurementsDialogListener = new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecselectedMeasurementsChecked){
if(isChecselectedMeasurementsChecked)
if(in<3){
selectedMeasurements.add(measurements[which]);
in++;
}
else{
selectedMeasurements.remove(measurements[which]);
in--;
}
onChangeSelectedMeasurements();
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Measurements");
builder.setMultiChoiceItems(measurements, checkedMeasurements, measurementsDialogListener);
AlertDialog dialog = builder.create();
dialog.show();
}
protected void onChangeSelectedMeasurements() {
StringBuilder stringBuilder = new StringBuilder();
for(CharSequence colour : selectedMeasurements)
stringBuilder.append(colour + ",");
}
すべてがうまく機能し、いくつかの要素を含むリストがあります。しかし、3 つ以上の要素を選択できない機能を追加したいと考えています。これで、リストからすべての要素を選択できます。3つの要素しか選択できないように実装したいと思います。どうやってやるの?