0

我正在尝试使用一个 EditText、两个按钮(Google 和 Yahoo)和一个 WebView 创建一个程序。我要创建的是搜索在 EditText 中键入的单词。如果用户点击 Google,EditText 中的文本将自动在 Google.com 中搜索,而如果用户点击 Yahoo,EditText 中的文本将自动在 Yahoo.com 中搜索。到目前为止,谷歌已经开始工作了。任何人都可以帮助我使用雅虎。谢谢你

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);
        }


    }

}
4

1 回答 1

1

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

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

你应该做一个雅虎搜索,看看它用你的搜索查询生成了什么样的 URL,然后构建你的 URL。为了确定如何进行 Bing 搜索,您将查看 Bing 对您的搜索查询所做的操作并尝试重新创建该 URL。

于 2013-08-25T15:32:11.647 回答