2

私はloopjパッケージを試しています。WebサイトにHTTPリクエストを送信し、WebビューにWebサイトを表示しようとしています。

結果は正常に返されますが、Webビューに希望どおりのページが表示されず、代わりにchromeが開いてページが表示されます。

私は何かが足りないのですか、それともこの望ましくない行動を無効にする方法はありますか?

以下は、リクエストを行っているoncreateメソッドです。

public class MainActivity extends Activity {

Button connectBtn;
TextView status;
WebView display;
String url = "http://www.google.com";
AsyncHttpClient client;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    status = (TextView)findViewById(R.id.statusbox);
    connectBtn = (Button)findViewById(R.id.connectBtn);
    display = (WebView)findViewById(R.id.webView1);

    connectBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            client = new AsyncHttpClient();
            client.get(url, new AsyncHttpResponseHandler(){

                @Override
                public void onSuccess(String response) {
                    Toast.makeText(getApplicationContext(), "Success!", Toast.LENGTH_SHORT).show();
                    display.loadUrl(url);

                }
            });
        }
    });
}
4

3 に答える 3

3

setWebViewClientWebViewとオーバーライドして、そのメソッドにshouldOverrideUrlLoading()書き込みます。view.loadUrl(url);

このコードを追加するだけです。

display.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
          view.loadUrl(url);
          return true;
}}); 
于 2013-01-10T19:26:46.060 に答える
0

を設定し、メソッドWebViewClientをオーバーライドする必要があります。shouldOverrideUrlLoadingこのようなもの:

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
        view.loadUrl(url);
    }
});

これにより、WebView内のリンクのクリックがWebView自体によって処理されるようになります。


編集:実際、私は質問を読み間違えました。WebView自体のクリックを処理していないため、これは関係ありません。ごめん!

于 2013-01-10T19:24:40.910 に答える
0

webviewclientの下でこのコードを使用するだけです

public void onPageFinished(WebView view, String url) {  
    super.onPageFinished(view, url);
    final EditText editText = (EditText) findViewById(R.id.urlfield);           
    editText.setText(url);

} 

}

于 2013-05-19T11:06:09.810 に答える