public class AHFaqItemDetailActivity extends Activity {
/** WebView */
private WebView webView;
/** ダイアログオブジェクト */
private ProgressDialog dialog;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ah_faq_itemdetail_actityty);
// 遷移もとからタイトルに表示する文字列を受け取る
Intent intent = getIntent();
final String answerText = intent.getStringExtra("ANSWER");//HTML文字列
webView = (WebView)findViewById(R.id.ah_faq_itemdetail_actityty_webview);
webView.setWebViewClient(new WebViewClient(){
//読み込み開始
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon){
super.onPageStarted(view, url, favicon);
//httpから始まらない文字列は(※answerTextはhttpからはじまらないのでこの条件で分岐)
if(url.substring(0, 4).equals("http")){
//自分のアプリはそのままにして
webView.loadData(answerText, "text/html; charset=UTF-8",null);//←ここで画面がちらつく。でもこれをやらないとアプリ内で遷移しちゃう
//ブラウザ起動
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
startActivity(intent);
}else{
//ダイアログ表示
if(dialog!=null){
dialog.show();
}
}
}
//読み込み完了
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d(LOG_TAG,":WebView onPageFinished実行");
//ダイアログ削除
if(dialog!=null){
dialog.dismiss();
}
}
});
//プログレスダイアログを表示
dialog = new ProgressDialog(AHFaqItemDetailActivity.this);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setCancelable(true);
//HTMLデータ読み込み
webView.loadData(answerText, "text/html; charset=UTF-8",null);
}