我正在尝试使用一个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);
}
}
}
答案 0 :(得分:1)
按照您的方式,您需要对EditText的文本进行URL编码并添加“/ search?p =”。
这是一个网址编码器:http://meyerweb.com/eric/tools/dencoder/
您应该进行雅虎搜索并查看它对您的搜索查询所使用的URL类型,并构建您的URL。为了确定如何进行必应搜索,您可以看到Bing对您的搜索查询执行的操作,并尝试重新创建该网址。