このコードをJavaファイルに追加したい:
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && url.startsWith("http://")) {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
} else {
return false;
}
}
}
でもどこかわかりません。これは私のJavaファイルです:package sherdle.donald.duck.app; import android.app.Activity; android.os.Bundleをインポートします。import android.view.Window; android.webkit.WebChromeClientをインポートします。android.webkit.WebViewをインポートします; android.webkit.WebViewClientをインポートします; パブリッククラスWebPageLoaderはActivity{WebViewwebview;を拡張します。
final Activity activity = this;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.getSettings().setSupportMultipleWindows(true);
webview.getSettings().setPluginsEnabled(true);
webview.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
activity.setTitle("Loading...");
activity.setProgress(progress * 100);
if(progress == 100)
activity.setTitle(R.string.app_name);
}
});
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
webview.loadUrl("http://www.sherdle.com/apphosting/dd");
}
@Override
public void onBackPressed (){
if(webview.canGoBack()) webview.goBack();
else super.onBackPressed();
}
}
私はAndroidを初めて使用するので、私が行うすべてのことについて多くの助けが必要です。ご協力いただきありがとうございます。
私はすでにこれを持っています:package sherdle.donald.duck.app; import android.app.Activity; android.os.Bundleをインポートします。import android.view.Window; android.webkit.WebChromeClientをインポートします。android.webkit.WebViewをインポートします; android.webkit.WebViewClientをインポートします; パブリッククラスWebPageLoaderはActivity{WebViewwebview;を拡張します。
final Activity activity = this;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.getSettings().setSupportMultipleWindows(true);
webview.getSettings().setPluginsEnabled(true);
webview.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
activity.setTitle("Loading...");
activity.setProgress(progress * 100);
if(progress == 100)
activity.setTitle(R.string.app_name);
}
});
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
webview.setWebChromeClient(new WebChromeClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && url.startsWith("http://")) {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
} else {
return false;
}
}
webview.loadUrl("http://www.sherdle.com/apphosting/dd");
}
@Override
public void onBackPressed (){
if(webview.canGoBack()) webview.goBack();
else super.onBackPressed();
}
}
しかし、LoadUrl行でこのエラーが発生します:この行に複数のマーカー-構文エラー、「AssignmentOperator式」を挿入して式を完了します-構文エラー、「;」を挿入します FieldDeclarationを完了するには-構文エラー、MethodInvocationを完了するには「)」を挿入します-構文エラー、ClassBodyを完了するには「}」を挿入します-構文エラー、「;」を挿入します ステートメントを完了するには-トークンの構文エラー、誤って配置された構成