Android谷歌和雅虎从EditText搜索

时间:2013-08-25 15:05:47

标签: android search android-edittext yahoo

我正在尝试使用一个EditText,两个按钮(Google和Yahoo)以及一个WebView创建一个程序。我想要创建的是搜索EditText中键入的单词。如果用户点击Google,则会自动在Google.com中搜索EditText中的文本,而如果用户点击Yahoo,则会在Yahoo.com中自动搜索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 个答案:

答案 0 :(得分:1)

按照您的方式,您需要对EditText的文本进行URL编码并添加“/ search?p =”。

这是一个网址编码器:http://meyerweb.com/eric/tools/dencoder/

您应该进行雅虎搜索并查看它对您的搜索查询所使用的URL类型,并构建您的URL。为了确定如何进行必应搜索,您可以看到Bing对您的搜索查询执行的操作,并尝试重新创建该网址。