0

EditFieldから文字列を開きたいのですが、ボタンを押すと、WebViewでページが開きます。私のURLの代わりに、デフォルトでWebブラウザが開いています

XML:

ここに画像の説明を入力してください

コード:

public class WebAdress extends Activity {

WebView webView;
ImageButton buttonGo;
EditText textWWW;
String URL = new String();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.www);

    buttonGo = (ImageButton) findViewById(R.id.imageButton1);
    textWWW  = (EditText) findViewById(R.id.editText1);
    webView = (WebView) findViewById(R.id.webView1);

    buttonGo.setOnClickListener(new OnClickListener() {

        @SuppressLint("SetJavaScriptEnabled")
        public void onClick(View v) {
            URL = "http://" + textWWW.getText().toString();
            WebSettings settings = webView.getSettings();
            settings.setJavaScriptEnabled(true);
            webView.loadUrl(URL);
            URL = null;
        }
    });

}

}

4

2 に答える 2

3

これで試してください。

// workaround so that the default browser doesn't take over
   webView.setWebViewClient(new MyWebViewClient());

 private class MyWebViewClient extends WebViewClient {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        } 

このデモを参照してください。

于 2012-09-05T10:49:46.110 に答える
3

最初にメニフェストファイルをチェックしてインターネットの許可を確認してから、このコードを試してURLをWebビューにロードしてください。彼のコードは私にとって同じ見方で機能します。

webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(YOUR ANY URL);
webview.setWebViewClient(new webviewClient());

class webviewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

それがあなたを助けることを願っています。

于 2012-09-05T10:50:07.490 に答える