Android ImageAdapter with Gridview in Fragment

自作多情 提交于 2019-12-01 05:16:45

I was able to fix the issue

I changed

    GridView gridview = (GridView) getActivity().findViewById(R.id.icon_grid);

to

    GridView gridview = (GridView) view.findViewById(R.id.icon_grid);

and I also changed

     gridview.setAdapter(new IconAdapter(this, iconSize));

to

     gridview.setAdapter(new IconAdapter(getActivity(), iconSize));
Kishor Ramani

Try this.

gridView = (GridView) rootView.findViewById(R.id.gridView);

gridView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> adapterView, View view,int pos, long l) {

                // do something...

            }               
        });

For more info, see this link: Android gridview in fragment adapter constructor missing

r2DoesInc

GridView gridview = (GridView) getActivity().findViewById(R.id.icon_grid);

should be

GridView gridview = (GridView) container.findViewById(R.id.icon_grid);

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.main, container, false);

    int iconSize = getResources().getDimensionPixelSize(android.R.dimen.app_icon_size);

    GridView gridview = (GridView) view.findViewById(R.id.icon_grid);
    gridview.setAdapter(new IconAdapter(this, iconSize));
    gridview.setOnItemClickListener(this);
    CONTENT_URI = Uri.parse("content://"+iconsProvider.class.getCanonicalName());
    return view;
}

Your going to want to remove the call to super, that is a leftover from you activity, the fragment does not call this method.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!