为什么关闭Interstitial时之前输入的文本从TextView中消失

Why the previously entered text disappears from the TextView when Interstitial is closed

我有一个麦克风按钮,用户可以使用它在语音中将文本输入到 TextView 中,每隔一秒单击停止麦克风按钮后,Interstitial 就会出现,但是,当 Interstitial 出现并且 Interstitial 关闭时,先前输入的文本从 TextView 中消失,当麦克风启动按钮再次启动时,先前输入的文本重新出现。当 Interstitial 关闭时,需要做什么来保持文本可见。我尝试了 onAdClosed 但失败了。谁能具体回答一下,谢谢!

InterstitialAd.java

InterstitialAd.load(getApplicationContext(),
                        mContext.getString(R.string.admob_interstitial_id),
                        new AdRequest.Builder().build(),
                        new InterstitialAdLoadCallback() {

                            @Override
                            public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
                                interstitialAd.show((Activity) mContext);
                            }

                            public void onAdClosed() {
                                returnedText.setVisibility(View.VISIBLE);
                            }
                        }
                );

开始 - 停止麦克风按钮位于 MainActivity.java 中,并从 InterstitialAd.java

调用插页式广告
InterstitialLaunch interstitialLaunch = new InterstitialLaunch();
interstitialLaunch.inter_launched(MainActivity.this);

我认为是因为在广告之后,您的片段会再次调用 onCreate(跟随在片段方法的正常生命周期之后)从零开始创建片段,如果是这种情况,那么您需要存储 UI 在显示广告之前在某处获取数据并在以后每次 onViewCreated 时获取它(例如,但在 onCreateView/onStateRestored 中编写代码也可以完成这项工作),您可以使用 ViewModel 或在 SharedPreferences

中存储数据

您可以从这里开始阅读有关 viewModel 的内容:

ViewModel | Android Developers

您也可以从这里开始阅读有关 sharedPerfreneces 的内容:

Save key-value data |Android Developers