为啥当 Interstitial 关闭时先前输入的文本会从 TextView 中消失
Posted
技术标签:
【中文标题】为啥当 Interstitial 关闭时先前输入的文本会从 TextView 中消失【英文标题】: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);
【问题讨论】:
【参考方案1】:我认为是因为在广告之后,您的片段再次调用 onCreate(随后是片段方法的正常生命周期)从零开始创建片段,如果是这种情况,那么您需要在显示之前将 UI 数据存储在某处广告并在以后每次 onViewCreated 时获取它(例如,但在 onCreateView/onStateRestored 中编写代码也可以完成这项工作),您可以使用 ViewModel 或 SharedPreferences 存储数据
您可以从这里开始阅读有关 viewModel 的信息:
ViewModel | android Developers
您也可以从这里开始阅读有关 sharedPerfreneces 的信息:
Save key-value data |Android Developers
【讨论】:
哈哈,你是对的,太棒了,你给了我一个好主意,解决了,它有效,谢谢你的朋友。 SharedPerfreneces 是一个巧妙的解决方案! 欢迎您,别忘了接受我对您问题的回答;D以上是关于为啥当 Interstitial 关闭时先前输入的文本会从 TextView 中消失的主要内容,如果未能解决你的问题,请参考以下文章
为啥 dlmalloc 分配的块头包含 4 个字节的先前分配的块 [关闭]