2013-01-10 58 views
3

我正在试验loopj软件包。我正在尝试向网站发出HTTP请求并在网页视图中显示该网站。试图在Web视图中显示url

我成功地获得了一个结果,但是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); 

       } 
      }); 
     } 
    }); 
} 
+1

如果你使用''display.loadData(响应,“text/html的“,null)''而不是? – harism

回答

3

setWebViewClient到您的WebView并覆盖shouldOverrideUrlLoading()现在在该方法中写入view.loadUrl(url);

只需添加该代码,

display.setWebViewClient(new WebViewClient() { 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
}}); 
+0

谢谢,问题解决了! – Javacadabra

+0

感谢您对我的问题的快速,轻松Google解答:) –

0

您需要设置一个WebViewClient并覆盖shouldOverrideUrlLoading方法。类似这样的:

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

确保WebView中的链接点击由WebView自身处理。


编辑:其实,我误解了这个问题。您没有处理WebView本身的点击,因此这不相关。抱歉!

0

只需使用此代码下你webviewclient

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

} 

}