새로 고침 listview를 구현하고 상위 항목의 목록 끝에 도달하면 목록에 새 항목을 추가하는 방법을 모르겠습니다. 제 조각을 먼저 설명해야한다고 생각합니다. 자습서 나 심지어 라이브러리를 발견했지만 사용할 수 없기 때문입니다. 내 파편의 계층 구조는 아래와 같습니다. 그리고 This Question에 구현 된대로 fragment pager adapter
을 사용하고 있습니다. 이것을 고려하십시오. 원격 서버의 목록 항목을 Parent Fragment
에 가져 오기 위해 비동기 작업을 시작하고이 데이터로 내 child fragments
을 시작합니다. 그런 다음이 데이터는 사용자가 활동을 다시 시작할 때까지 정적이됩니다. 나는 그것을 원하지 않는다. 사용자가 목록을 새로 고침하고 스크롤이 목록의 끝에 도달하면 새 항목을 가져와야합니다. 튜토리얼이나 나에게 영감을 줄 수있는 코드를 아는 분이라면 고맙겠습니다. 새로 고침 listview를 구현하고 목록의 끝에 도달하면 목록에 새 항목 가져 오기
MainActivity -> MainFragment --> Child Fragment1
--> Child Fragment2
업데이트 :
pieace of code form my MainFragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
rootView = inflater.inflate(R.layout.fragmentfeed2, container, false);
...
startAsyncTask();// to bring List Object whish will be show in feed list and map
return rootView;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
mViewPager = (ViewPager) view.findViewById(R.id.viewpager);
mViewPager.setAdapter(new PlacesDisplayTypePagerAdapter(getChildFragmentManager()));
mViewPager.setOffscreenPageLimit(2);
mSlidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
mSlidingTabLayout.setViewPager(mViewPager);
mSlidingTabLayout.setHostingFragment(this);
mSlidingTabLayout.setSelectedIndicatorColors(getActivity().getResources().getColor(R.color.sow_actionbar_bg_color));
if(getArguments() != null)
{
int currentTab = getArguments().getInt("1");
mViewPager.setCurrentItem(currentTab);
}
}
class PlacesDisplayTypePagerAdapter extends FragmentPagerAdapter {
public PlacesDisplayTypePagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return message(R.string.tab_list);
case 1:
return message(R.string.tab_map);
default:
return message(R.string.tab_list);
}
}
@Override
public Fragment getItem(int position) {
Bundle bundle = new Bundle();
bundle.putParcelableArrayList(Consts.bundle_adList, (ArrayList<? extends Parcelable>) events);
bundle.putInt("startFrom", startFrom);
bundle.putInt("listType", listType);
bundle.putDoubleArray(Consts.bundle_locArray, targetLoc);
if (position == 0) {
return FeedListFragment.newInstance(bundle);
} else
return FeedMapFragment.newInstance(bundle);
}
}
당신이 내 코드에서 볼 수 있듯이, 홈페이지 조각 FeedListFragment 및 FeedMapFragment라는 2 명의 아이들이있다. 이제 scrool이 listview 끝에 도달하는 것을 감지 한 다음 새 asyntask에 별표를 추가하여 새 항목을 가져와 목록 어댑터에 알립니다. 하지만 어떻게 내 주요 조각이 그것을 관리 할 수 있습니까? ListFragment는 새로 고침 또는 getParentFragment에 의한 새 항목로드시 주요 프라그먼트를 트리거 할 수 있습니다. 주 조각이이 새 데이터를 자식 조각으로 보내는 방법 whisch은 이미 팽창 했습니까? Thansk 사전에. 그 점을 이해하도록 도와주세요.
그것은 이미 답이 여기에 정보 [안드로이드 풀 - 투 - 새로 고침을 구현하는 방법 (http://stackoverflow.com/questions/4583484/how-to-implement-android-pull-to-refresh) – blizzard
전 근심이 내 질문을 업데이트했습니다. 그것을 보아라. – eskimoo