Фрагмент перестает отвечать на запросы, когда приложение возобновляется из BackStack или вызывается из уведомления - PullRequest
0 голосов
/ 03 октября 2018

В Dashboard Activity есть фрагмент сверху, который содержит 3 фрагмента в виде пейджеров внутри. Пейджеры вида становятся пустыми и не отвечают (как показано на втором снимке экрана) в следующих случаях:

  1. Когдаприложение загружается из backstack
  2. Когда параметр шрифта изменяется, когда приложение находится в фоновом режиме, и вызывается снова из стека приложений
  3. Когда щелкает уведомление о моем приложении и действие click перенаправляет на панель действийScreenshot:when activity is created

Screenshot when its notification is clicked and then redirected to this activity

Код для фрагмента для вкладок:

public class MainActivityGraphViewPager extends Fragment {


public MainActivityGraphViewPager() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.fragment_main_activity_graph_pager, container, false);
    ViewPager viewPager = v.findViewById(R.id.fgraph_pager);

    TabLayout tabx = v.findViewById(R.id.tab_layout_dashboard);
    tabx.setupWithViewPager(viewPager, true);

    viewPager.setAdapter(new SectionPagerAdapterFeaturedgraphs(getActivity().getSupportFragmentManager()));
    viewPager.setCurrentItem(1, false);
    viewPager.setOffscreenPageLimit(3);
    return v;
}


private class SectionPagerAdapterFeaturedgraphs extends FragmentPagerAdapter {
    public SectionPagerAdapterFeaturedgraphs(FragmentManager supportFragmentManager) {
        super(supportFragmentManager);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                return new ExpenseManagerPieChart();

            case 1:
                return new BudgetandFitness();

            case 2:
                return new ExpendsFragments();
            default:
                return null;
        }
    }

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

MainActivityGraphViewPager.class вызывается в onCreate () Dashboard Activity:

        MainActivityGraphViewPager mainActivityGraphPager=new MainActivityGraphViewPager();
    this.getSupportFragmentManager().beginTransaction().replace(R.id.graph_pagers, mainActivityGraphPager).commit();

Какие могут быть возможные решения для устранения этой неотзывчивости?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...