package com.jdroid.android.sample.ui.home; import android.os.Bundle; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.jdroid.android.recycler.AbstractRecyclerFragment; import com.jdroid.android.recycler.RecyclerViewAdapter; import com.jdroid.android.recycler.RecyclerViewType; import com.jdroid.android.sample.R; import com.jdroid.java.collections.Lists; public class HomeFragment extends AbstractRecyclerFragment { @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); setAdapter(new RecyclerViewAdapter(new HomeRecyclerViewType(), Lists.newArrayList(HomeItem.values()))); } public class HomeRecyclerViewType extends RecyclerViewType<HomeItem, HomeHolder> { @Override protected Class getItemClass() { return HomeItem.class; } @Override protected Integer getLayoutResourceId() { return R.layout.jdroid_default_item; } @Override public RecyclerView.ViewHolder createViewHolderFromView(View view) { HomeHolder holder = new HomeHolder(view); holder.image = findView(view, com.jdroid.android.R.id.image); holder.name = findView(view, com.jdroid.android.R.id.name); return holder; } @Override public void fillHolderFromItem(HomeItem item, HomeHolder holder) { holder.image.setImageResource(item.getIconResource()); holder.name.setText(item.getNameResource()); } @Override public void onItemSelected(HomeItem item, View view) { item.startActivity(HomeFragment.this.getActivity()); } @Override public AbstractRecyclerFragment getAbstractRecyclerFragment() { return HomeFragment.this; } } public static class HomeHolder extends RecyclerView.ViewHolder { protected ImageView image; protected TextView name; public HomeHolder(View itemView) { super(itemView); } } }