2013-08-25 81 views
0

我想創建一個EditText,兩個按鈕(谷歌和雅虎)和一個WebView的程序。我試圖創建的是搜索EditText中鍵入的單詞。如果用戶點擊Google,EditText中的文本將自動在Google.com中搜索,而如果用戶點擊Yahoo,那麼EditText中的文本將自動在Yahoo.com中搜索。到目前爲止,Google已經在工作。任何人都可以幫助我與雅虎。謝謝安卓谷歌和雅虎搜索EditText

package com.example.webbrowser3; 

import android.app.Activity; 
import android.app.SearchManager; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.webkit.WebView; 
import android.widget.Button; 
import android.widget.EditText; 

public class WebBrowser3 extends Activity implements OnClickListener { 
    Button google; 
    Button yahoo; 
    WebView WebView; 
    EditText search; 
    String url; 
    Intent intent; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_web_browser3); 
     WebView = (WebView)findViewById(R.id.webview); 
     search = (EditText)findViewById(R.id.search); 
     google = (Button)findViewById(R.id.google); 
     google.setOnClickListener(this); 
     yahoo = (Button)findViewById(R.id.yahoo); 
     yahoo.setOnClickListener(this); 
    } 


    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     if (v.getId()==R.id.google) 
     { 
      intent = new Intent(Intent.ACTION_WEB_SEARCH); 
      url=search.getText().toString(); 
      intent.putExtra(SearchManager.QUERY, url); 
      startActivity(intent); 
     } 
     else if (v.getId()==R.id.yahoo) 
     { 
      url=search.getText().toString(); 
      WebView.loadUrl("http://www.yahoo.com" + url); 
     } 


    } 

} 

回答

1

隨着你這樣做的方式,你需要URL編碼EditText的文本,並在前面加上「/ search?p =」。

這裏是一個URL編碼:http://meyerweb.com/eric/tools/dencoder/

你應該做一個雅虎搜索,看看它與你的搜索查詢做什麼樣的URL,並建立自己的網址爲如此。爲了確定如何執行必應搜索,您會看到必應對您的搜索查詢執行的操作,並嘗試重新創建該網址。