Skip to content

Instantly share code, notes, and snippets.

@samtstern
Created July 20, 2016 15:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samtstern/e08eec46b363d536f5c3c61f8696862a to your computer and use it in GitHub Desktop.
Save samtstern/e08eec46b363d536f5c3c61f8696862a to your computer and use it in GitHub Desktop.
FirebaseRecyclerAdapter - ViewHolder with Context
public class HomeActivity extends Activity implements TodoListener {
private MyRecyclerAdapter mAdapter;
// ...
@Override
public void onCreate(Bundle savedInstanceState) {
// ...
mAdapter.setListener(this);
}
@Override
public void onDoneClick(TodoMasterModel model, int action) {
// Do your click action here
// ...
}
@Override
public void showAddEditDialog(TodoMasterModel model, int action) {
// Do your edit action here
// ...
}
}
public class MyRecyclerAdapter extends FirebaseRecyclerAdapter<TodoMasterModel, TodoViewHolder> {
private TodoListener mListener;
// ...
public setListener(TodoListener listener) {
this.mListener = listener;
}
@Override
protected void populateViewHolder(TodoViewHolder viewHolder, TodoMasterModel model, int position) {
// ...
viewHolder.setListener(mListener);
}
}
public interface TodoListener {
void onDoneClick(TodoMasterModel model, int action);
void showAddEditDialog(TodoMasterModel model, int action);
}
public class TodoViewHolder extends RecyclerView.ViewHolder {
private TodoListener mListener;
// ...
public setListener(TodoListener listener) {
this.mListener = listener;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment