如何在片段中显示JSON数据?

时间:2016-04-05 04:30:27

标签: android json listview fragment

我在选项卡式视图模式下的活动上有四个可滑动的片段。每个片段都应显示来自API的JSON数据。 有两个问题 第一个问题是只有在第一个片段中我才能获得数据。 第二个问题是,当刷到下一个片段时,我丢失了第一个片段中收到的数据。 每个片段我有四个布局。 我使用自定义列表视图来显示数据。

*创建片段并获取JSON数据后,我使用自定义列表视图使用aeroFirst方法在第一个片段中显示它,如下所示,但我无法在另一个片段中执行相同的操作。创建片段,JSON解析和aeroFirst方法都在MainActivityclass *

代码剪辑

                private void aeroFirst(List<Details> mList) {
    //   layout = (LinearLayout) findViewById(R.id.linear);


    for (Details bean : details) {
        final String urlChar = bean.getUrl();

        if (bean.getResType().equals("Videos"))

        {
            ListView listView = (ListView) findViewById(R.id.list);
            CustomListViewAdapter adapter = new CustomListViewAdapter(this,
                    R.layout.list_item, mList);
            listView.setAdapter(adapter);


            listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
                    Toast.makeText(getApplicationContext(),
                            "Click ListItem Number " + urlChar, Toast.LENGTH_SHORT)
                            .show();

1 个答案:

答案 0 :(得分:2)

所有四个片段背后都必须有活动,对吗?将值存储在该活动中,以便所有四个片段都可以访问JSON。这可能不是最好的风格,但另一种解决方案涉及将其保存为shared preference或类似的方法。

另一种方法是在活动中加载所有内容,然后为每个片段将JSON放入arguments as bundles