GridviewAdapter.java
public class GridviewAdapter extends BaseAdapter{
private ArrayList<String> listCountry;
private ArrayList<String> listFlag;
private Activity activity;
public GridviewAdapter(Activity activity, ArrayList<String> listCountry, ArrayList<String> listFlag) {
super();
this.listCountry = listCountry;
this.listFlag = listFlag;
this.activity = activity;
}
@Override
public int getCount() {
return listCountry.size();
}
@Override
public String getItem(int position) {
// TODO Auto-generated method stub
return listCountry.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public static class ViewHolder {
public ImageView imgViewFlag;
public TextView txtViewTitle;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Toast.makeText(activity, "pppl", Toast.LENGTH_SHORT).show();
ViewHolder view;
LayoutInflater inflator = activity.getLayoutInflater();
if(convertView==null) {
view = new ViewHolder();
convertView = inflator.inflate(R.layout.simple_list_view, parent,false);
view.txtViewTitle = convertView.findViewById(R.id.textView1);
view.imgViewFlag = convertView.findViewById(R.id.imageView1);
convertView.setTag(view);
}
else {
view = (ViewHolder) convertView.getTag();
}
view.txtViewTitle.setText(listCountry.get(position));
Picasso.get().load(listFlag.get(position)).resize(100,100).into(view.imgViewFlag);
return convertView;
}
}
Fragment.Java is Shopping Name
public class Shopping extends Fragment {
GridView gridView;
GridviewAdapter mAdapter;
ArrayList<String> listCountry;
ArrayList<String> listFlag;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_shopping,null);
gridView = view.findViewById(R.id.gridView1);
prepareList();
return view;
}
public void prepareList() {
listCountry = new ArrayList<String>();
listFlag = new ArrayList<String>();
listCountry.add("name");
listFlag.add("https://www.freepngimg.com/thumb/cartoon/4-2-cartoon-transparent.png");
listCountry.add("one");
listFlag.add("https://www.freepngimg.com/thumb/cartoon/4-2-cartoon-transparent.png");
listCountry.add("name");
listFlag.add("https://www.freepngimg.com/thumb/cartoon/4-2-cartoon-transparent.png");
listCountry.add("one");
listFlag.add("https://www.freepngimg.com/thumb/cartoon/4-2-cartoon-transparent.png");
listCountry.add("name");
listFlag.add("https://www.freepngimg.com/thumb/cartoon/4-2-cartoon-transparent.png");
listCountry.add("one");
listFlag.add("https://www.freepngimg.com/thumb/cartoon/4-2-cartoon-transparent.png");
gridView = new GridView(getActivity());
mAdapter = new GridviewAdapter(getActivity(),listCountry, listFlag);
gridView.setAdapter(mAdapter);
}
}
Shopping fragment.Xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginTop="4dp">
<GridView
android:layout_height="match_parent"
android:id="@+id/gridView1"
android:layout_width="match_parent"
android:numColumns="3"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:alignmentMode="alignMargins"
android:columnOrderPreserved="false"
android:layout_weight="8"
android:padding="14dp">
</GridView>
</LinearLayout>
I am using these files and adding data to gridview but not showing anything in the Output,so please check and provide me solution. i Tried so many ways but getview is not running in the adapter. and getCount Returns value is greater than 0 as the data.
The issue is here gridView = new GridView(getActivity());
gridView = new GridView(getActivity());
mAdapter = new GridviewAdapter(getActivity(),listCountry, listFlag);
gridView.setAdapter(mAdapter);
You are creating new object of gridview
remove this line
and it start working fine
Here is the code you need to replace with above.
mAdapter = new GridviewAdapter(getActivity(),listCountry, listFlag);
gridView.setAdapter(mAdapter);