im trying to convert my old application to a new android Material design.but in my onclickevent I cannot work with my method getSupportFragmentManager(). I don't know what I'm doing wrong here.
public class DrawerListAdapter extends RecyclerView.Adapter<DrawerListAdapter.DrawerViewHolder> {
private Context context;
private Activity activity;
private LayoutInflater inflater;
List<info> data = Collections.emptyList();
public DrawerListAdapter(Context context, List<info> data) {
inflater = LayoutInflater.from(context);
this.data = data;
this.context = context;
}
@Override
public DrawerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.custome_row, parent, false);
DrawerViewHolder holder = new DrawerViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(DrawerViewHolder holder, int position) {
info current = data.get(position);
holder.title.setText(current.title);
holder.icon.setImageResource(current.iconId);
holder.setClickListener(new DrawerViewHolder.ClickListener() {
@Override
public void onClick(View v, int position, boolean isLongClick) {
switch (position) {
case 1:
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_frame, Fragment_home.newInstance(),
Fragment_home.TAG).commit();
break;
case 2:
break;
}
}
});
}
@Override
public int getItemCount() {
return data.size();
}
static class DrawerViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView title;
ImageView icon;
private ClickListener clickListener;
public DrawerViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.text_title);
icon = (ImageView) itemView.findViewById(R.id.imageView);
itemView.setOnClickListener(this);
}
public interface ClickListener {
public void onClick(View v, int position, boolean isLongClick);
}
public void setClickListener(ClickListener clickListener) {
this.clickListener = clickListener;
}
@Override
public void onClick(View view) {
clickListener.onClick(view, getPosition(), false);
}
}
}
source
share