逻辑:
我正在实现一个逻辑,当单击一个按钮时,会打开一个对话框,其中有多个复选框代表星期几。 当用户从对话框中选择任何一天时,我的按钮中将以三角形格式显示相同的内容。例如:如果“星期一”被选中,“星期一”将显示在我的按钮中。
面临的问题:
当用户选择多天时(例如:“星期一”,“星期二”),我希望所有选定日期都显示在按钮中。
在下面的代码中,我选择了一天时实现了逻辑。例如:当在对话框的复选框列表中单击“星期一”时,按钮将设置为文本为“星期一”。 我不知道如何编写显示多天的逻辑。
如果是“星期一”&&在复选框列表中选择“星期二”,然后将按钮文本设置为“星期一,星期二”
我不知道如何实现上述逻辑。
有人请提供代码。在此先感谢
守则:
Dialog dialog;
final String[] items = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday" , "Saturday" , "Sunday"};
final ArrayList itemsSelected = new ArrayList();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select The Days : ");
builder.setMultiChoiceItems(items, null,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int selectedItemId,
boolean isSelected) {
if (isSelected) {
itemsSelected.add(selectedItemId);
if (items[selectedItemId] == "Monday"){
RecurrencePicker.setText("Mon");
int day = 2;
}else if (items[selectedItemId] == "Tuesday"){
RecurrencePicker.setText("Tue");
int day = 3;
}else if (items[selectedItemId] == "Wednesday"){
RecurrencePicker.setText("Wed");
int day = 4;
}else if (items[selectedItemId] == "Thursday"){
RecurrencePicker.setText("Thu");
int day = 5;
}else if (items[selectedItemId] == "Friday" ){
RecurrencePicker.setText("Fri");
int day = 6;
}else if (items[selectedItemId] == "Saturday"){
RecurrencePicker.setText("Sat");
int day = 7;
}else if(items[selectedItemId] == "Sunday"){
RecurrencePicker.setText("Sun");
int day = 1;
}
} else if (itemsSelected.contains(selectedItemId)) {
itemsSelected.remove(Integer.valueOf(selectedItemId));
}
}
})