package tk.zielony.carbonsamples.dialog; import android.os.Bundle; import android.support.annotation.Nullable; import java.util.Arrays; import java.util.List; import carbon.component.ComponentItem; import carbon.component.DefaultImageTextSubtextDateItem; import carbon.component.ImageTextSubtextDateRow; import carbon.dialog.ListDialog; import carbon.widget.EditText; import tk.zielony.carbonsamples.R; import tk.zielony.carbonsamples.Samples; import tk.zielony.carbonsamples.SamplesActivity; import tk.zielony.randomdata.Generator; import tk.zielony.randomdata.RandomData; import tk.zielony.randomdata.common.DrawableImageGenerator; import tk.zielony.randomdata.common.StringDateGenerator; import tk.zielony.randomdata.common.TextGenerator; import tk.zielony.randomdata.person.StringNameGenerator; public class ListDialogActivity extends SamplesActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listdialog); Samples.initToolbar(this, getString(R.string.listDialogActivity_title)); EditText titleText = (EditText) findViewById(R.id.titleText); List<ComponentItem> items = Arrays.asList( new DefaultImageTextSubtextDateItem(), new DefaultImageTextSubtextDateItem(), new DefaultImageTextSubtextDateItem(), new DefaultImageTextSubtextDateItem(), new DefaultImageTextSubtextDateItem(), new DefaultImageTextSubtextDateItem(), new DefaultImageTextSubtextDateItem(), new DefaultImageTextSubtextDateItem(), new DefaultImageTextSubtextDateItem()); RandomData randomData = new RandomData(); randomData.addGenerators(new Generator[]{ new DrawableImageGenerator(this), new StringNameGenerator().withMatcher(f -> f.getName().equals("text") && f.getDeclaringClass().equals(DefaultImageTextSubtextDateItem.class)), new TextGenerator().withMatcher(f -> f.getName().equals("subtext")), new StringDateGenerator() }); randomData.fill(items); findViewById(R.id.button).setOnClickListener(view -> { ListDialog<ComponentItem> dialog = new ListDialog<>(this); dialog.setItems(items, ImageTextSubtextDateRow.FACTORY); if (titleText.length() > 0) dialog.setTitle(titleText.getText()); dialog.show(); }); } }