android - 使用 android volley 将 json 数组作为包传递给 fragment

标签 android json android-fragments fragmentpageradapter

我想制作一个从 android volley 获取数据的 viewpager。我已经解析了 json,如下所示。

    HashMap<String, String> event = new HashMap<String, String>();

        JSONArray timings = object1.getJSONArray("periods");


        for (int t=0; t<timings.length(); t++){
            JSONObject timeObject = timings.getJSONObject(t);

            String period = timeObject.getString("periodName");
            periodList.put("",period);

            System.out.println(period);

            event.put(TAG_PERIOD,period);

        }

现在我想发送特定日期(周一、周二等)的类时间,如下所示:

resulting image

我想将解析后的数组发送到 fragment 。 以下是 pageradapter 和 fragment 类的代码。

页面适配器:

    public class PagerAdapter extends FragmentPagerAdapter {
int mNumOfTabs;
TabFragment1 fragA, fragB,fragC,fragD,fragE,fragF;


public PagerAdapter(FragmentManager fm, int NumOfTabs) {
    super(fm);
    this.mNumOfTabs = NumOfTabs;
}

public void setFragments(Context c){

    // Set up the simple base fragments
    fragA = new TabFragment1();
    fragB = new TabFragment1();
    fragC = new TabFragment1();
    fragD = new TabFragment1();
    fragE = new TabFragment1();
    fragF = new TabFragment1();

}

@Override
public Fragment getItem(int position) {

    Fragment fragment;

    switch (position) {
        case 0:
            fragment = fragA;
            return fragment;

        case 1:
            fragment = fragB;
            return fragment;

        case 2:
            fragment = fragC;
            return fragment;

        case 3:
            fragment = fragD;
            return fragment;

        case 4:
            fragment = fragE;
            return fragment;

        case 5:
            fragment = fragF;
            return fragment;

        default:
            return null;
    }


}

@Override
public int getCount() {
    return mNumOfTabs;
}

fragment :

    public class TabFragment1 extends android.support.v4.app.Fragment {


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

 return inflater.inflate(R.layout.tab_fragment_1, container, false);


}



}

我是 android 的新手,想知道如何将解析后的数据传递给 fragment 。

最佳答案

Bundle args = new Bundle();
args.putString("response",jsonarray.toString());    
ListFrag newFragment = new ListFrag ();
newFragment.setArguments(args);

并在 Fragment 中获取 bundle 的值,

Bundle b = getArguments();
String s = b.getString("response");
JSONArray array=new JSONArray(s);

关于android - 使用 android volley 将 json 数组作为包传递给 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35570920/

相关文章:

android - 有什么简单的方法可以直接在我的 android 应用程序上使用 c/c++ 源代码吗?

java - 将 JSON 响应存储在数组中

java - 如何对 fragment 使用 onSaveInstanceState 和 onRestoreInstanceState 方法?

android 从所有 fragment 选项卡中获取值

java - 如何阻止使用 LayoutInflater().inflate(int resource, ViewGroup root, boolean AttachToRoot) 引发 IllegalStateExceptions?

android - InetAddress.getLocalHost() 总是崩溃

安卓多动画

java - 服务中的方向监听器

PHP 和英雄联盟 API - 如何在唯一命名的 JSON 数组中定义变量以插入 MySQL 数据库?

Django - 序列化为 JSON,如何序列化 FK User 对象