Domanda

I'm new on Android, I have one problem implementing GridView on "extends Fragment".

Tab2SalonActivity.java

public class Tab2SalonActivity extends Fragment
{
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            final View root= inflater.inflate(R.layout.page_two_salon, container, false);

            GridView gridview = (GridView) root.findViewById(R.id.gridView);

            gridview.setAdapter(new ImageAdapter(this));//Line error

            gridview.setOnItemClickListener(new OnItemClickListener() {

                public void onItemClick(AdapterView<?> parent, View v,
                        int position, long id) {     
                }
            });

            return root;
        }
    }

ImageAdapter.java

public class ImageAdapter extends BaseAdapter {
    private Context mContext;

    public ImageAdapter(Context c) {
        mContext = c;
    }

    public int getCount() {
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }//continue...

¿How I can solve this issue?

The Error it's:

"The constructor ImageAdapter(Tab2SalonActivity) is undefined"

I don't know how i can defined on constructor, always i have errors, please, help me!

Thanks

È stato utile?

Soluzione

Change this

gridview.setAdapter(new ImageAdapter(this));

to

gridview.setAdapter(new ImageAdapter(getActivity()));

The constructor expects Context as param. But this does not refer to a valid context

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top