【问题标题】:Why the previously entered text disappears from the TextView when Interstitial is closed为什么当 Interstitial 关闭时先前输入的文本会从 TextView 中消失
【发布时间】:2021-10-15 18:52:20
【问题描述】:

我有一个麦克风按钮,用户通过该按钮将文本输入到 TextView 中,每隔一秒点击停止麦克风按钮后,就会出现 Interstitial,但是,当出现 Interstitial 并且当 Interstitial 关闭时,之前输入的文本会从TextView,当再次启动麦克风启动按钮时,之前输入的文本再次出现。关闭插页式广告时需要执行哪些操作以保持文本可见。我试过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 调用 Interstitial

InterstitialLaunch interstitialLaunch = new InterstitialLaunch();
interstitialLaunch.inter_launched(MainActivity.this);

【问题讨论】:

    标签: android textview interstitial


    【解决方案1】:

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

    您可以从这里开始阅读有关 viewModel 的信息:

    ViewModel | Android Developers

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

    Save key-value data |Android Developers

    【讨论】:

    • 哈哈,你是对的,太棒了,你给了我一个好主意,解决了,它有效,谢谢你的朋友。 SharedPerfreneces 是一个巧妙的解决方案!
    • 欢迎您,别忘了接受我对您问题的回答;D
    猜你喜欢
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    相关资源
    最近更新 更多