Android 在不同的选项卡片段上从API加载相同的数据
我在我的应用程序中有3个选项卡片段,每个片段表示来自同一API URL的不同数据(一次调用10条记录)。 这是我试图达到的最终结果: 选项卡1:显示来自我的API URL的记录1-5 选项卡2:显示来自我的API URL的记录6-10 选项卡3:显示与记录1-10不同的值 我的目标是在第一个选项卡(Tab1)中加载所有这些数据,并显示与每个选项卡中返回的JSON数据不同的结果,如上所述 到目前为止的进展情况:编码Tab1以显示记录1-10 需要您的帮助:Android 在不同的选项卡片段上从API加载相同的数据,android,android-fragments,Android,Android Fragments,我在我的应用程序中有3个选项卡片段,每个片段表示来自同一API URL的不同数据(一次调用10条记录)。 这是我试图达到的最终结果: 选项卡1:显示来自我的API URL的记录1-5 选项卡2:显示来自我的API URL的记录6-10 选项卡3:显示与记录1-10不同的值 我的目标是在第一个选项卡(Tab1)中加载所有这些数据,并显示与每个选项卡中返回的JSON数据不同的结果,如上所述 到目前为止的进展情况:编码Tab1以显示记录1-10 需要您的帮助: 制作Tab1显示记录1-5,而不是全部1
public void updateData(JSONArray jsonArray) {
// update the adapter's dataset
mJsonArray = jsonArray;
notifyDataSetChanged();
}
我得到结果1-10,我不知道如何将其限制为前5个或结果6-10。在活动或片段中加载从1到10的数据,该片段包含2个片段 在此之后,为每个需要数据的片段添加函数setData 最后,转到片段并加载之前设置的数据
public class MyPagerAdapter extends FragmentPagerAdapter {
private static int NUM_ITEMS = 3;
ArrayList<Item> arr;
public MyPagerAdapter(FragmentManager fragmentManager,ArrayList<Item> arr) {
super(fragmentManager);
this.arr=arr;
}
// Returns total number of pages
@Override
public int getCount() {
return NUM_ITEMS;
}
// Returns the fragment to display for that page
@Override
public Fragment getItem(int position) {
switch (position) {
case 0: // Fragment # 0 - This will show FirstFragment
return FirstFragment.newInstance(arr.subList(0,5));
case 1: // Fragment # 1
return FirstFragment.newInstance(arr.subList(6,10));
case 2: // Fragment # 2
//Change your values according to you need then pass the arr in Frag 3
return SecondFragment.newInstance(arr);
default:
return null;
}
}
// Returns the page title for the top indicator
@Override
public CharSequence getPageTitle(int position) {
return "Page " + position;
}
}
公共类MyPagerAdapter扩展了FragmentPagerAdapter{
私有静态int NUM_ITEMS=3;
ArrayList-arr;
公共MyPagerAdapter(碎片管理器碎片管理器,ArrayList arr){
超级(碎片管理器);
这个.arr=arr;
}
//返回总页数
@凌驾
public int getCount(){
返回NUM_项;
}
//返回要为该页显示的片段
@凌驾
公共片段getItem(int位置){
开关(位置){
案例0://Fragment#0-这将显示FirstFragment
返回FirstFragment.newInstance(arr.subList(0,5));
案例1://Fragment#1
返回FirstFragment.newInstance(arr.subList(6,10));
案例2://Fragment#2
//根据需要更改您的值,然后通过Frag 3中的arr
返回SecondFragment.newInstance(arr);
违约:
返回null;
}
}
//返回顶部指示器的页面标题
@凌驾
公共字符序列getPageTitle(int位置){
返回“页面”+位置;
}
}