I'm trying to make and activity that uses fragment with viewpager2 and I'm having problem populating the grid view inside the viewpage2. and I'm having trouble using adapters. what are the steps I need to know to make this activity work?
this is my fragment class
public class item_frag extends Fragment{
Context context;
FragmentItemDisplayBinding binding;
String name, description, category, price, imageurl;
FirebaseStorage firebaseStorage;
FirebaseDatabase firebaseDatabase;
DatabaseReference databaseReference;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
firebaseDatabase = FirebaseDatabase.getInstance();
databaseReference = firebaseDatabase.getReference("inventory");
firebaseStorage = FirebaseStorage.getInstance();
name = databaseReference.getDatabase().getReference("inventory").toString();
description = databaseReference.getDatabase().getReference("inventory").toString();
category = databaseReference.getDatabase().getReference("inventory").toString();
price = databaseReference.getDatabase().getReference("inventory").toString();
imageurl = firebaseStorage.getReference("inventory").toString();
String[] itemname = {"hello"};
int[] itemimage = {R.drawable.unimas_logo};
View view = inflater.inflate(R.layout.fragment_item_display, container, false);
GridView gridView = (GridView) view.findViewById(R.id.grid_view);
item_frag_adapter itemFragAdapter = new item_frag_adapter(context, itemname, itemimage);
gridView.setAdapter(itemFragAdapter);
return inflater.inflate(R.layout.fragment_item_display, container, false);
}
}
this is my item fragment adapter class
public class item_frag_adapter extends BaseAdapter {
Context context;
String[] itemname;
int[] image;
LayoutInflater inflater;
public item_frag_adapter(Context context, String[] itemname, int[] image) {
this.context = context;
this.itemname = itemname;
this.image = image;
}
@Override
public int getCount() {
return itemname.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null){
convertView = inflater.inflate(R.layout.item_card,null);
}
ImageView imageView = convertView.findViewById(R.id.idIVimage);
TextView textView = convertView.findViewById(R.id.idTVtext);
imageView.setImageResource(image[position]);
textView.setText(itemname[position]);
return convertView;
}
}