tablayout片段的内容未更新

时间:2015-11-25 13:49:06

标签: java android android-tablayout

我有TabLayout的活动。当我进入我的第二个活动,在那里我添加一些在第一个活动中使用的数据并且我回来时,我需要5-10秒,并且需要大量的滑动以允许更新第一个活动片段。

这就是我使用

的方式
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home_page);
        tabLayout = (TabLayout) findViewById(R.id.tab_layout);
        viewPager = (ViewPager) findViewById(R.id.viewPager);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

        if (toolbar != null) {
            setSupportActionBar(toolbar);
        }
        setTitle("La mia settimana:");


        calendar = Calendar.getInstance();
        dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        choosenDate = calendar.getTime();

        viewPager.setAdapter(new SectionPagerAdapter(getSupportFragmentManager()));
        tabLayout.setupWithViewPager(viewPager);

        viewPager.setCurrentItem((dayOfWeek == 1 ? 7 : dayOfWeek - 1));
    }

我的适配器如下:

public class SectionPagerAdapter extends FragmentPagerAdapter {

    public SectionPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {

        switch (position) {
            case 0:
                choosenDate = GetDateFromDayWeek(2);
                break;
            case 1:
                choosenDate = GetDateFromDayWeek(3);
                break;
            case 2:
                choosenDate = GetDateFromDayWeek(4);
                break;
            case 3:
                choosenDate = GetDateFromDayWeek(5);
                break;
            case 4:
                choosenDate = GetDateFromDayWeek(6);
                break;
            case 5:
                choosenDate = GetDateFromDayWeek(7);
                break;
            case 6:
                choosenDate = GetDateFromDayWeek(8);
                break;
            default:
                break;
        }
        HomePageTabFragment homePageTabFragment = new HomePageTabFragment();
        Bundle args = new Bundle();
        args.putString("date", globalDateFormat.format(choosenDate));
        args.putInt("day", dayOfWeek);
        homePageTabFragment.setArguments(args);
        return homePageTabFragment;
    }

    @Override
    public int getCount() {
        return 7;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return "Lun";
            case 1:
                return "Mar";
            case 2:
                return "Mer";
            case 3:
                return "Gio";
            case 4:
                return "Ven";
            case 5:
                return "Sab";
            case 6:
                return "Dom";
            default:
                return "Giorni settimana";
        }
    }
}

我总是用一捆参数调用相同的片段。

我不会发布片段,因为它真的很长而且不相关。 我只是解释他的所作所为:他从数据库中获取所有实体,他总结了一些数据列,并在列表中显示了这些数据。

现在,我的问题如下:

在第二个活动中,我将一个项目添加到列表中,然后将其保存在本地数据库中。

当我回到第一个活动时,应该更新数据(相对于db中的所有实体)。

在更新之前,数据需要20秒的手势。 我该如何解决这个问题?

0 个答案:

没有答案