Пакет теряет силу после возвращения из другого действия - PullRequest
0 голосов
/ 08 апреля 2019

У меня проблема с комплектом.У меня есть 2 действия (с фрагментами), и я хочу сохранить данные во фрагменте FeedListFragment .

Когда я вращаю экран, он работает просто отлично, но когда я возвращаюсь из другого действия, пакет равен нулю .

@Override
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    progressBar = view.findViewById(R.id.progressBar);

    if ( savedInstanceState == null ) {
        feedProviderViewModel.getAll().observe(this, feedProviders -> {
            feedEntryViewModel.deleteAll();
            RssDownloader rssDownloader = new RssDownloader(feedProviders, this, progressBar);
        });
    }

   ...
}

И у меня также есть onSaveInstanceState

@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
    super.onSaveInstanceState(outState);
    Log.d("tag","Save instance state called");
    outState.putString(FIRST_RUN,"Downloaded");
}

1 Ответ

0 голосов
/ 08 апреля 2019

не используйте намерение вернуться от второго занятия к первому при использовании onBackPress

btn_message.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });

в противном случае вы должны поместить свои данные в намерение, которое вы уже отправили из действия 1

btn_message.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        Intent intent = new Intent(this, YOUR ACTIVITY);
        intent.putExtra("bundle",bundle);
        startActivity(intent);
        }
    });

третий способ сохранить его на SharedPreference

...