package tk.zielony.carbonsamples.widget; import android.os.Bundle; import java.text.Format; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import carbon.Carbon; import carbon.beta.TableLayout; import carbon.widget.TableView; import tk.zielony.carbonsamples.R; import tk.zielony.carbonsamples.Samples; import tk.zielony.carbonsamples.SamplesActivity; public class TableLayoutActivity extends SamplesActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tablelayout); Samples.initToolbar(this, getString(R.string.tableLayoutActivity_title)); TableLayout tableLayout = (TableLayout) findViewById(R.id.tableLayout); List<List<Object>> items = new ArrayList<>(); items.add(Arrays.asList(new Object[]{"Samsung", "GT-9001", 0.32f, false})); items.add(Arrays.asList(new Object[]{"Sony", "Z3c", 0.14f, false})); items.add(Arrays.asList(new Object[]{"Google", "emulator", 0.10f, true})); List<String> names = Arrays.asList("Manufacturer", "Model", "Percentage", "Emulator"); List<Class> classes = Arrays.asList(new Class[]{String.class, String.class, Float.class, Boolean.class}); tableLayout.setAdapter(new MyTableAdapter(tableLayout.getTableView(), items, names, classes)); tableLayout.getToolbar().setTitle("Devices"); tableLayout.getToolbar().getTitleView().setTextColor(Carbon.getThemeColor(this, android.R.attr.textColorSecondary)); } public static class MyTableAdapter extends TableView.Adapter { private final List<List<Object>> items; private List<String> names; private final List<Class> classes; public MyTableAdapter(TableView tableView, List<List<Object>> items, List<String> names, List<Class> classes) { super(tableView); this.items = items; this.names = names; this.classes = classes; } @Override public String getColumnName(int column) { return names.get(column); } @Override public Class getColumnClass(int column) { return classes.get(column); } @Override public int getColumnCount() { return names.size(); } @Override public List<Object> getItem(int position) { return items.get(position); } @Override public int getItemCount() { return items.size(); } @Override public Format getColumnFormat(int column) { if (column == 2) return NumberFormat.getPercentInstance(); return null; } } }