-1

In getContext() its showing "Non-static method 'getContext()' cannot be referenced from a static context" how to solve it,or what should i call instead of it.

public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.ViewHolder > {

private List<CategoryModel> CategoryModelList;

public CategoryAdapter(List<CategoryModel> categoryModelList) {
    CategoryModelList = categoryModelList;
}

@NonNull
@Override
public CategoryAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
    View view = LayoutInflater.from(ViewGroup.getContext()).Inflate(R.layout.category_item,viewGroup,false);
    return null;
}

@Override
public void onBindViewHolder(@NonNull CategoryAdapter.ViewHolder holder, int position) {

}

@Override
public int getItemCount() {
    return 0;
}
David Wasser
  • 93,459
  • 16
  • 209
  • 274
shahid
  • 25
  • 5

3 Answers3

4
ViewGroup.getContext()

try with:

viewGroup.getContext()
blackapps
  • 8,011
  • 2
  • 11
  • 25
2

You are using ViewGroup but it should be viewGroup

Oussema Aroua
  • 5,225
  • 1
  • 24
  • 44
0

try this:

public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.ViewHolder > {
private Context context;

private List<CategoryModel> CategoryModelList;

public CategoryAdapter(List<CategoryModel> categoryModelList, Context Mcontext) {
    CategoryModelList = categoryModelList;
    this.context = Mcontext;
}

@NonNull
@Override
public CategoryAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
    View view = LayoutInflater.from(context).Inflate(R.layout.category_item,viewGroup,false);
    return null;
}

@Override
public void onBindViewHolder(@NonNull CategoryAdapter.ViewHolder holder, int position) {

}

@Override
public int getItemCount() {
    return 0;
}