【问题标题】:Android Asynchronous WebViewAndroid 异步 WebView
【发布时间】:2012-05-24 15:15:13
【问题描述】:

我想在启动屏幕后面的 android 中运行我的 webview,并在完成页面加载后调出 WebView。

下面是我的代码摘录:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    setContentView(R.layout.main);
    mWebView = (WebView) findViewById(R.id.webview);    
    mWebView.getSettings().setJavaScriptEnabled(true);    
    mWebView.loadUrl(url);
    mWebView.setWebViewClient(new webviewclient());
   }

public class webviewclient extends WebViewClient {    
@Override    
public boolean shouldOverrideUrlLoading(WebView view, String url) {        
    view.loadUrl(url); 
    return true;    
    }
}

目前,闪屏会出现一瞬间,然后 WebView 会出现并开始加载页面。

关于如何将其转换为异步的任何建议?

【问题讨论】:

    标签: android multithreading asynchronous webview


    【解决方案1】:

    当您想要异步执行任何操作时,Android AsycTask 是您最好的选择,也是您轻松的起点。 http://developer.android.com/reference/android/os/AsyncTask.html

    您将希望通过在 onCreate 中设置启动画面来执行此操作,然后执行 asyncTask 以加载 webview。然后在您的 onPostExecute 中,您可以将 ContentView 设置为 webview。

    希望有帮助

    【讨论】:

      【解决方案2】:

      这可能不是最干净的答案,但您可以在 WebView 顶部有一个图像视图,它基本上显示相同的初始图像,为您的 WebView 执行进度检查,并且仅在您的 WebView 到达时从屏幕上关闭 ImageView 100%

      这是进度检查/实施的链接: Android WebView progress bar

      【讨论】:

      • trumpetlicks 你的解决方案是唯一一个似乎可以在 android 上运行而没有任何执行错误的解决方案。对于那些有同样问题的人,我建议你使用类似于下面代码的东西。 relentlesshosting.com.au/screenshot/1jNx6K.jpg
      • 很高兴听到它有帮助 :-)
      • @Beanonymous,图片链接现已损坏。
      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多