package tk.zielony.carbonsamples.dialog; import android.os.Bundle; import android.support.annotation.Nullable; import com.annimon.stream.Stream; import carbon.dialog.MultiSelectDialog; import carbon.dialog.SingleSelectDialog; import carbon.widget.DropDown; import carbon.widget.EditText; import tk.zielony.carbonsamples.R; import tk.zielony.carbonsamples.Samples; import tk.zielony.carbonsamples.SamplesActivity; import tk.zielony.randomdata.food.StringFruitGenerator; public class SelectDialogActivity extends SamplesActivity { private Object selectedItem; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_selectdialog); Samples.initToolbar(this, getString(R.string.simpleDialogActivity_title)); EditText titleText = (EditText) findViewById(R.id.titleText); DropDown dropDown = (DropDown) findViewById(R.id.dropDown); dropDown.setItems(new String[]{"Single select", "Multi select"}); StringFruitGenerator generator = new StringFruitGenerator(); Object[] items = Stream.generate(generator::next).limit(5).toArray(); selectedItem = items[0]; findViewById(R.id.button).setOnClickListener(view -> { switch (dropDown.getSelectedIndex()) { case 0: { SingleSelectDialog dialog = new SingleSelectDialog(this); if (titleText.length() > 0) dialog.setTitle(titleText.getText()); dialog.setItems(items); dialog.setOnItemClickedListener((view1, item, position) -> selectedItem = item); dialog.setSelectedItem(selectedItem); dialog.show(); } break; case 1: { MultiSelectDialog dialog = new MultiSelectDialog(this); if (titleText.length() > 0) dialog.setTitle(titleText.getText()); dialog.setItems(items); dialog.setOnItemClickedListener((view1, item, position) -> selectedItem = item); dialog.setSelectedItems(new Object[]{selectedItem}); dialog.show(); } break; } }); } }