How to update fragment content from activity (viewpager)?

前端 未结 3 640
庸人自扰
庸人自扰 2020-12-08 21:48

I have a simple viewPager with two fragments. Each fragment contains a TextView. I would like to be able to update the text of the current textView displayed from the activi

3条回答
  •  爱一瞬间的悲伤
    2020-12-08 22:26

    I solved this issue like this, create the adapter like this

    package com.yubraj.sample.adapter;
    
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentStatePagerAdapter;
    
    import com.yubaraj.sample.activities.RashiFragment;
    import java.util.List;
    
    
    public class PageSliderAdapter extends FragmentStatePagerAdapter {
        static String[] titleList = new String[] { "today",
                "this month", "this year" };
        List rashi;
        // private static String TAG = "pagerscreenslider";
    
        public PageSliderAdapter(FragmentManager fm, List rashiList) {
            super(fm);
            this.rashi = rashiList;
        }
        public void updateData(List rashisList){
            rashi.clear();
            this.rashi = rashisList;
            notifyDataSetChanged();
        }
        @Override
        public int getItemPosition(Object object) {
            // TODO Auto-generated method stub
            return POSITION_NONE;
        }
    
        @Override
        public Fragment getItem(int position) {
            Fragment fragment = new RashiFragment();
            Bundle bundle = new Bundle();
            bundle.putString("RASHI", rashi.get(position));
            bundle.putInt("RASHI_TYPE", position);
            fragment.setArguments(bundle);
            return fragment;
        }
    
        @Override
        public int getCount() {
            return titleList.length;
        }
    
        @Override
        public String getPageTitle(int position) {
            return titleList[position];
        }
    
    
    }
    

    Then from Your activity

    List rashiCollection = getJSONFromDb(Dates);
    adapter.updateData(rashiCollection);
    

提交回复
热议问题