繁体   English   中英

当我在Android Java文件中使用Fragment,Tabspager时出现错误

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

我已经创建了3个片段Java文件,并使用TabsPager文件刷了片段。 现在我在StoreHomeFragment上添加了工作代码。添加到storehomefragment的java代码是填充到gridview中的集合

但是现在我在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;
}}

并在上面的“情况1”中弹出错误。 我使用右键单击和快速修复

Change method return type to StoreHomeFragment 

我也上传了图像,只是显示出错误弹出窗口,如果我选择一个,则开关盒中的所有其他片段都会出现错误,请任何人帮助我可能犯了什么错误

在此处输入图片说明

以及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;    
}

检查StoreHomeFragment扩展了Fragment并且,如果您使用支持库,请检查您的类导入,因为Fragment类也包含在支持库中。 通常,您必须导入在StoreGenreFragmentStoreStepFragment使用的相同Fragment

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM