android - 为 WebView 设置一个新的上下文

标签 android webview android-context

有什么办法可以改变WebView的上下文吗? 我的意思是,当我扩展 WebView 类时,我使用上下文调用 super 构造函数(在我的示例中是一个 Activity )。后来,这个 Activity 不再存在,我们转移到其他 Activity 。

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

我该怎么做才能在不创建新上下文的情况下设置 WebView 的上下文。

谢谢。

最佳答案

要将新上下文传递给 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 可以是从您要使用的其他上下文继承的任何上下文。

关于android - 为 WebView 设置一个新的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26085023/

相关文章:

Android:如何在Tabview中显示Webview?

javascript - 从单独的类调用 Activity 函数

android - Android Instrumented 单元测试中的上下文和资源

javascript - 在 Android 中显示好看的数学公式

java - 奇怪的应用程序无法在不同的手机上运行

java - 将变量传递给 catch - Java

java - 滚动到网页 View 的顶部 (Android)

java - 安卓 : Google places are not showing

android - getActivity() 在 Fragment 函数中返回 null

java - 应用程序因 android.content.Context.getPackageName()' 在空对象引用上崩溃