我在选项卡式视图模式下的活动上有四个可滑动的片段。每个片段都应显示来自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();
答案 0 :(得分:2)
所有四个片段背后都必须有活动,对吗?将值存储在该活动中,以便所有四个片段都可以访问JSON。这可能不是最好的风格,但另一种解决方案涉及将其保存为shared preference或类似的方法。
另一种方法是在活动中加载所有内容,然后为每个片段将JSON放入arguments as bundles。