I am getting error when i use Fragment,Tabspager in Android java file

我是研究僧i 提交于 2020-01-15 09:07:12

问题


I have created 3 fragment java files and used TabsPager file to swipe the fragments. Now I added working code on StoreHomeFragment.java code added to storehomefragment is collection of populating into gridview

but now I am get error in TabsPager

TabsPagerAdapterStore.java

public class TabsPagerAdapterStore extends FragmentPagerAdapter {

public TabsPagerAdapterStore(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int index) {

    switch (index) {
    case 0: return new StoreGenreFragment();
    case 1: return new StoreHomeFragment(); //this line error 
    case 2: return new StoreStepFragment();
    }

    return null;
}

@Override
public int getCount() {
    // get item count - equal to number of tabs
    return 3;
}}

And in "case 1" above error is popped up. I use right click and Quick Fix

Change method return type to StoreHomeFragment 

I have uploaded the image as well to just show the error popping up if I choose that one then every other fragments in the switch case will get error can please anyone help me what mistake I might have committed

And the code which is present in StoreHomeFragment.java

public class StoreHomeFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.store_home, container, false);

    if (android.os.Build.VERSION.SDK_INT > 9) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }


    // Gridview
    final GridView gridView1 = (GridView)rootView.findViewById(R.id.store_home_gridview); 

    String url = "http://192.168.1.132/Android/App/good.php";

    try {
        JSONArray data = new JSONArray(getJSONUrl(url));

        final ArrayList<HashMap<String, String>> MyArrList = new ArrayList<HashMap<String, String>>();
        HashMap<String, String> map;

        for(int i = 0; i < data.length(); i++){
            JSONObject c = data.getJSONObject(i);
            map = new HashMap<String, String>();
            map.put("name", c.getString("name"));
            map.put("artist", c.getString("artist"));
            map.put("price", c.getString("price"));
            map.put("image", c.getString("image"));


            MyArrList.add(map);
        }           

        //gridView1.setAdapter(new ImageAdapter(this,MyArrList));
        gridView1.setAdapter(new ImageAdapter(this,MyArrList));

    } catch (JSONException e) {

        e.printStackTrace();
    } catch (Exception e) {

        e.printStackTrace();
    }
    return rootView;    
}

回答1:


Check if StoreHomeFragment extends Fragment and, if you use the support library, check your class imports because Fragment class is also contained in support library. Pratically you have to import the same Fragment class that you use in StoreGenreFragment or StoreStepFragment



来源:https://stackoverflow.com/questions/23513118/i-am-getting-error-when-i-use-fragment-tabspager-in-android-java-file

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