我有一个ViewPager
和3个Fragment
,并且根据Android
文档ViewPager.setOffscreenPageLimit(1);
的最小值为1。我在Fragments
中有多个ViewPager
并且每个Fragment
必须从Server
加载一些数据时遇到一个问题,为此我要呼叫AsyncTask
每个Fragment
中的文件以首先获取数据,然后加载到Fragment
中。
我可以在Log
中看到我正在从Server
获取数据,但是一旦我调用第二个Fragment
,我就可以看到它也调用了下一个{{1 }} Fragment
就是为什么我很难设置onCreateView
的原因。我尝试通过在不同情况下也通过RecyclerView
来调用Adapter
,但没有帮助。
adapter3.notifyDataSetChanged();
中的父母Fragment
。
ViewPager
public class ViewUserProfile extends Fragment{
ViewPager ViewPager;
UserProfile_TabAdapter tabAdapter;
TabLayout tabLayout;
View view;
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.view_userprofile, container, false);
ViewPager = view.findViewById(R.id.up_Viewpager_ViewPager);
ViewPager.setOffscreenPageLimit(1);
ViewPager.setPageMargin(10);
tabAdapter=new TabAdapter(getFragmentManager(),getActivity(),Uda.getFN());
tabLayout= view.findViewById(R.id.up_Viewpager_Tab);
tabLayout.setupWithViewPager(userInfo_ViewPager);
return view;
}
}
未加载其数据:
Fragment
答案 0 :(得分:0)
当片段可见时调用asynctask,将其添加到片段中
编辑
更改您的以下代码
JSONArray followingDataArray = jsonObject.getJSONArray("data2");
for (int i = 0; i < followingDataArray.length(); i++) {
String image = followerDataArray.getJSONObject(i).getString("getmyUserImage");
viewUserProfile_Wrapper followerData = new viewUserProfile_Wrapper(image);
followingList.add(followerData);
}
JSONArray friendDataArray = jsonObject.getJSONArray("data3");
for (int i = 0; i < friendDataArray.length(); i++) {
String image = followerDataArray.getJSONObject(i).getString("getmyUserImage");
viewUserProfile_Wrapper followerData = new viewUserProfile_Wrapper(image);
friendsList.add(followerData);
}
对此
JSONArray followingDataArray = jsonObject.getJSONArray("data2");
for (int i = 0; i < followingDataArray.length(); i++) {
String image = followingDataArray.getJSONObject(i).getString("getmyUserImage");
viewUserProfile_Wrapper followerData = new viewUserProfile_Wrapper(image);
followingList.add(followerData);
}
JSONArray friendDataArray = jsonObject.getJSONArray("data3");
for (int i = 0; i < friendDataArray.length(); i++) {
String image = friendDataArray.getJSONObject(i).getString("getmyUserImage");
viewUserProfile_Wrapper followerData = new viewUserProfile_Wrapper(image);
friendsList.add(followerData);
}
根据I_A_Mok的评论,从中删除返回null
if (callResult.equals("SUCCESS")){......}