0

1 つの EditText、2 つのボタン (Google と Yahoo)、および 1 つの WebView を持つプログラムを作成しようとしています。私が作成しようとしているのは、EditText に入力された単語を検索することです。ユーザーが Google をクリックすると、EditText 内のテキストが Google.com で自動的に検索され、ユーザーが Yahoo をクリックすると、EditText 内のテキストが Yahoo.com で自動的に検索されます。これまでのところ、Google はすでに機能しています。誰でもYahooで私を助けることができますか?ありがとうございました

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/

Yahoo 検索を実行して、検索クエリで作成される URL の種類を確認し、そのように URL を作成する必要があります。Bing 検索の実行方法を決定するには、Bing が検索クエリに対して何を行うかを確認し、その URL を再作成してみます。

于 2013-08-25T15:32:11.647 に答える