ページがWebビューに読み込まれているときに、進行状況ダイアログをアプリに組み込んでいるので、空白の白い画面だけではありません。私はこの質問がどこにでも投稿されていることを知っていますが、私にとってうまくいくものは何も理解できないようです。私はプログラミングとAndroid)を使用するのが初めてなので、どんな情報でも役に立ちます。以下は私が現在持っているコードです。onPageStartedを使用すると、ビットマップのコンパイルエラーが発生します。問題が何であるかわからない。ありがとう。
public class Grades extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//requesting system settings
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().requestFeature( Window.FEATURE_PROGRESS);
WebView webview = new WebView(this);
//web settings
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDisplayZoomControls(true);
webSettings.setBuiltInZoomControls(true);
setContentView(webview);
//loads webpages in webview instead of launching browser
webview.setWebViewClient(new WebViewClient() {
ProgressDialog prDialog;
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
prDialog = ProgressDialog.show(Grades.this, null, "loading, please wait...");
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
prDialog.dismiss();
super.onPageFinished(view, url);
}
});
//loading webpage
webview.loadUrl("page__link");
}
このコードを確認してください
final ProgressDialog pd = ProgressDialog.show(OnlinePaymentActivity.this, "", "Please wait, your transaction is being processed...", true);
mWebview = (WebView)findViewById(R.id.webView1);
mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
mWebview.getSettings().setLoadWithOverviewMode(true);
mWebview.getSettings().setUseWideViewPort(true);
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
pd.show();
}
@Override
public void onPageFinished(WebView view, String url) {
pd.dismiss();
String webUrl = mWebview.getUrl();
}
}
});
mWebview .loadUrl("www.google.com");
進行状況ダイアログが機能するWebview。完全に機能するコード
import Android.app.ProgressDialog;
import Android.graphics.Bitmap;
import Android.os.Bundle;
import Android.support.v7.app.AppCompatActivity;
import Android.support.v7.widget.Toolbar;
import Android.webkit.WebSettings;
import Android.webkit.WebView;
import Android.webkit.WebViewClient;
import com.yubrajpoudel.R;
/**
* Created by yubraj on 12/25/15.
*/
public class NewsActivity extends AppCompatActivity {
private WebView webView;
ProgressDialog prDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page_news);
setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
webView = (WebView) findViewById(R.id.wv_news);
webView.setWebViewClient(new MyWebViewClient());
String url = "http://google.com/";
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.loadUrl(url);
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
prDialog = new ProgressDialog(NewsActivity.this);
prDialog.setMessage("Please wait ...");
prDialog.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if(prDialog!=null){
prDialog.dismiss();
}
}
}
}
これを試してみてください、私は願っています、これはあなたが求めているものです
webview.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
//Also you can show the progress percentage using integer value 'progress'
if(!prDialog.isShowing()){
prDialog = ProgressDialog.show(Grades.this, null, "loading, please wait...");
}
if (progress == 100&&prDialog.isShowing()) {
prDialog.dismiss();
}
}
});
進行状況ダイアログが機能するKotlin Webビュー。完全に機能するコード
var webView = web_view_privacy_policy
webView?.settings?.javaScriptEnabled = true
webView?.settings?.loadWithOverviewMode = true
webView?.settings?.useWideViewPort= true
webView.webViewClient = object : WebViewClient(){
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
showProgress(getString(R.string.please_wait))
}
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
return true
}
override fun onPageFinished(view: WebView?, url: String?) {
hideProgress()
}
}
webView.loadUrl(ApiEndPoint.ENDPOINT_PRIVACY_POLICY)
web_view_privacy_policyは、.xml内のWebViewのIDです。