Back to project page klarna-on-demand-android.
The source code is released under:
Apache License
If you think the Android project klarna-on-demand-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.klarna.ondemand; /*www . j a v a 2 s . c o m*/ import android.app.ActionBar; import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.MenuItem; import android.webkit.WebView; import android.webkit.WebViewClient; public abstract class WebViewActivity extends Activity { private ProgressDialog progressDialog; private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_webview); webView = initializeWebView(); addSpinner(); initializeActionBar(); webView.loadUrl(getUrl()); } @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId() == android.R.id.home) { finish(); } return super.onOptionsItemSelected(item); } @Override public void onBackPressed() { showDismissAlert(); } protected abstract String getUrl(); private WebView initializeWebView() { WebView webView = (WebView) findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.clearCache(true); webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return false; } @Override public void onPageFinished(WebView view, String url) { progressDialog.dismiss(); } }); return webView; } private void addSpinner() { progressDialog = new ProgressDialog(WebViewActivity.this); progressDialog.setMessage(getString(R.string.LOADING_SPINNER)); progressDialog.show(); } private void initializeActionBar() { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); } private void showDismissAlert() { final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(this.getTitle()); builder.setMessage(getString(R.string.DISMISS_ALERT_MESSAGE)); builder.setCancelable(true); builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { finish(); } }); builder.setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); } }