Dan*_*ail 14 android ads view android-activity
我想在不同的活动中重用相同的视图对象(不是视图类,或者xml文件,我的意思是内存中的对象).
我几乎完成了这件事.当然,问题在于背景.
我尝试了应用程序上下文.它几乎可以工作,但是当我点击我在不同活动之间传输的视图时,尝试从它(或链接)启动另一个应用程序它崩溃了.(我不记得确切的崩溃,但如果你需要的话我会挖它).
我尝试了一些活动,我不介意泄漏一次,并将其作为一个上下文.它工作,实际上一切正常,直到我开始在ViewFlipper中得到奇怪的例外.
我的问题是,这种重用真的有可能,如何稳定?你有这方面的经验吗?
丹,先谢谢了
我记住你可以承担泄漏1个活动的费用,因为这是我所知道的唯一解决方案:声明一个静态视图,比如你的第一个活动(你要求广告)中的myAdView.现在,您可以在每次活动转化中广告并删除此myAdView.Ofcource你必须在单独的活动中为你的广告保持单独的LinearLayouts,我们将添加/删除myAdView例如.假设您从活动A到B,然后在A的onPause中删除myAdView:
private LinearLayout layoutAd;
layoutAd = (LinearLayout) findViewById(R.id.layout_ad); // from A's xml
protected void onPause() {
super.onPause();
layoutAd.removeView(FirstActivity.adBannerView);
}
Run Code Online (Sandbox Code Playgroud)
并在B的onResume中添加相同的(FirstActivity)myAdView:
private LinearLayout layoutAd;
layoutAd = (LinearLayout) findViewById(R.id.layout_ad); // from B's xml
protected void onResume() {
super.onResume();
layoutAd.addView(FirstActivity.adBannerView);
}
Run Code Online (Sandbox Code Playgroud)
希望这能在一定程度上解决您的问题.
Uma*_*shi -1
如果您希望在多个活动中使用一个变量,那么最佳实践是将它们作为静态变量放在一个单独的类中(可以命名为 Constants 或 MyVars),并在您想要的任何活动中使用它们,例如 Constants.SavedVar 或下面的 MyVars.SavedVar 是代码示例。
public class MyStaticVars {
public static Context myContext;
}
// First Activity where you want to save a specific context
MyStaticVars.myContext = ContextToBeSaved;
// Any Other Activity where you want to reuse that context
priviousContext = MyStaticVars.myContext;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5486 次 |
| 最近记录: |