package tk.zielony.carbonsamples;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import carbon.component.DataBindingComponent;
import carbon.component.PaddingItem;
import carbon.component.PaddingRow;
import carbon.recycler.RowArrayAdapter;
import carbon.widget.RecyclerView;
public class SampleListActivity extends SamplesActivity {
RowArrayAdapter<Object> adapter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_samplelist);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.list);
recyclerView.setLayoutManager(getResources().getBoolean(R.bool.tablet) ?
new GridLayoutManager(this, 2, LinearLayoutManager.VERTICAL, false) :
new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
adapter = new RowArrayAdapter<>(SampleActivityItem.class, parent -> new DataBindingComponent<>(recyclerView, R.layout.row_main));
adapter.addFactory(PaddingItem.class, PaddingRow.FACTORY);
adapter.addFactory(String.class, parent -> new DataBindingComponent<String>(parent, R.layout.row_description));
adapter.setOnItemClickedListener((view, item, position) -> {
if (item instanceof SampleActivityItem) {
Class activityClass = ((SampleActivityItem) item).getActivityClass();
Intent intent = new Intent(view.getContext(), activityClass);
startActivity(intent);
}
});
recyclerView.setAdapter(adapter);
}
protected void setItems(Object[] items) {
adapter.setItems(items);
}
}