【问题标题】:set a new context to WebView为 WebView 设置新的上下文
【发布时间】:2014-11-22 23:13:45
【问题描述】:

有没有办法改变 WebView 的上下文? 我的意思是,当我扩展 WebView 类时,我使用上下文(在我的示例中为活动)调用超级构造函数。后来,这个活动不再存在,我们转移到其他活动。

问题是 WebView 仍然存在并且引用了这个上下文。 我无法随时创建我的 WebView,因为初始化时间很长。 我尝试使用 getApplicationContext() 调用超类,但我发现这对于显示视频也有问题。

如何在不创建新的情况下设置 WebView 的上下文。

谢谢。

【问题讨论】:

标签: android webview android-context


【解决方案1】:

要将新的上下文传递给 webview,您可以创建一个初始化 webview 的方法,传递 Context 的参数,如下所示:

public static Webview initializeWebView(Context context)
{

  myWebView = new WebView();
  return myWebView;

}

在此之后,您可以随时随地调用此方法。您可以如下所示调用它:

myWebView = initializeWebView(YourActivityName.this);
//this way whatever Context you will pass your webview will be initialized that way
//for example you can also pass getApplicationContext() as an Argument
myWebView = initializeWebView(getApplicationContext());
//or
myWebView = initializeWebView(customContext);

此 customContext 可以是从您想要使用的其他上下文继承的任何上下文。

【讨论】:

  • 这应该是解决方案(感谢您的出色回答)。
  • @RickardElimää :-)
  • @ManishSharma 你能解释一下吗:你正在传递一个你不使用的上下文。这就是为什么你可以传递任何你想要的上下文。为什么不直接打电话给WebView()
猜你喜欢
  • 2018-06-26
  • 1970-01-01
  • 2017-07-18
  • 2012-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
相关资源
最近更新 更多