Created
March 4, 2017 01:54
-
-
Save bg1bgst333/c682266b2bd890b61e41a3fe2b27a522 to your computer and use it in GitHub Desktop.
WebSettings#setJavaScriptEnabled
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.bgstation0.android.sample.websettings_; | |
import android.app.Activity; | |
import android.os.Bundle; | |
import android.view.Menu; | |
import android.view.MenuItem; | |
import android.view.View; | |
import android.view.View.OnClickListener; | |
import android.webkit.WebSettings; | |
import android.webkit.WebView; | |
import android.widget.Button; | |
import android.widget.EditText; | |
import android.widget.Toast; | |
public class MainActivity extends Activity implements OnClickListener{ // View.OnClickListenerを実装. | |
// メンバフィールドの定義 | |
public WebView webView; // WebViewオブジェクトwebView | |
public CustomWebViewClient customWVC; // CustomWebViewClientオブジェクトcustomWVC | |
public CustomWebChromeClient customWCC; // CustomWebChromeClientオブジェクトcustomWCC | |
public WebSettings webSettings; // WebSettingsオブジェクトwebSettings | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
// loadbuttonを取得し, OnClickListenerとして自身をセット. | |
Button loadButton = (Button)findViewById(R.id.loadbutton); // loadButtonを取得. | |
loadButton.setOnClickListener(this); // loadButton.setOnClickListenerでthisをセット. | |
// WebViewの初期設定. | |
webView = (WebView)findViewById(R.id.webview); // webViewを取得. | |
customWVC = new CustomWebViewClient(this); // CustomWebViewClientオブジェクトcustomWVCを作成. | |
webView.setWebViewClient(customWVC); // webView.setWebViewClientでcustomWVCをセット. | |
customWCC = new CustomWebChromeClient(this); // CustomWebChromeClientオブジェクトcustomWCCを作成. | |
webView.setWebChromeClient(customWCC); // webView.setWebChromeClientでcustomWCCをセット. | |
webSettings = webView.getSettings(); // webView.getSettingsでwebSettingsを取得. | |
webSettings.setJavaScriptEnabled(true); // webSettings.setJavaScriptEnabledでJavaScriptを有効にする. | |
} | |
// メニューが作成された時. | |
@Override | |
public boolean onCreateOptionsMenu(Menu menu){ | |
// メニューの作成 | |
getMenuInflater().inflate(R.menu.main, menu); // getMenuInflaterでMenuItemを取得し, そのままinflateで指定されたR.menu.mainを元にmenuを作成. | |
return true; // trueを返す. | |
} | |
// メニューが選択された時. | |
@Override | |
public boolean onOptionsItemSelected(MenuItem item){ | |
// どのメニューが選択されたか. | |
switch (item.getItemId()){ // アイテムIDごとに振り分け. | |
// GoBack | |
case R.id.menu_goback: | |
// GoBackブロック | |
{ | |
// 戻れるなら戻る, 戻れなかったら"戻れません!"と表示. | |
if (webView.canGoBack()){ // canGoBackで前に戻れるかチェック. | |
// 1つ前のページに戻る. | |
webView.goBack(); // webView.goBackで1つ前のページに戻る. | |
} | |
else{ | |
// バックキーの既定の動作. | |
super.onBackPressed(); // 既定の動作.(このActivityを閉じる.) | |
} | |
} | |
break; | |
} | |
return super.onOptionsItemSelected(item); // 親クラス既定処理 | |
} | |
// バックキーが押された時. | |
@Override | |
public void onBackPressed(){ | |
// WebViewが戻れるなら戻す. | |
if (webView.canGoBack()){ // trueなら | |
webView.goBack(); // webViewを1つ前のページに戻す. | |
} | |
else{ // falseなら. | |
super.onBackPressed(); // 既定の動作.(このActivityを閉じる.) | |
} | |
} | |
// View.OnClickListenerインタフェースのオーバーライドメソッドを実装. | |
public void onClick(View v){ // onClickをオーバーライド. | |
// ボタンのidをごとに処理を振り分ける. | |
switch (v.getId()) { // v.getIdでView(Button)のidを取得. | |
case R.id.loadbutton: // R.id.loadbuttonの時. | |
// navigateButtonブロック | |
{ | |
// urlBarのurlを取得. | |
EditText urlBar = (EditText)findViewById(R.id.urlbar); // urlBarを取得. | |
String url = urlBar.getText().toString(); // urlBar.getText().toString()でurlを取得. | |
// webViewでurlのサイトを表示. | |
webView.loadUrl(url); // webView.loadUrlでurlのサイトを表示. | |
// 抜ける. | |
break; // breakで抜ける. | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment