【问题标题】:In android how do you search the internet and return the results in an activity?在android中,您如何搜索互联网并在活动中返回结果?
【发布时间】:2011-07-07 18:51:02
【问题描述】:

我希望用户将他们的搜索查询输入到搜索小部件中,然后将搜索结果显示给他们,然后当他们点击他们想要的 url 时,我需要能够保存该 url 以用于其他我的应用程序的一部分。

这可能吗?如果不可能,有哪些限制可以防止这种情况发生?


编辑——我想我会为我的活动添加代码,它有 web 视图。

public class State extends Activity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final boolean customTitleSupport = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.state);

        if( customTitleSupport ){
            getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title );
        }

        final TextView myTitleText = (TextView)findViewById(R.id.my_title);
        if( myTitleText != null ){
            myTitleText.setText(R.string.app_name);
        }

        WebView stateBrowser = (WebView)findViewById(R.id.state_search);
        stateBrowser.loadUrl("http://www.google.com/");
    }
}

【问题讨论】:

    标签: java android search webview


    【解决方案1】:

    你需要使用一个叫做 WebViewClient 的东西

    public class WebViewTestActivity extends Activity implements
            View.OnClickListener {
        /** Called when the activity is first created. */
        Button btn = null;
        WebView myWebView =null;
        EditText et =null;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            btn = (Button) findViewById(R.id.button1);
            btn.setOnClickListener(this);
            et = (EditText) findViewById(R.id.editText1);
            myWebView = (WebView) findViewById(R.id.webview);
    // WebViewClient in use.
            myWebView.setWebViewClient(new WebViewClient(){
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    et.setText(url);
                }
            });
        }
    
        @Override
        public void onClick(View source) {
            if (btn.getText().equals("Go!")) {
                myWebView.loadUrl(et.getText().toString());
            }
        }
    
    }
    

    `

    【讨论】:

    • 我想我不确定这将如何在程序中发挥作用。能举个例子吗?
    • ` WebView stateBrowser = (WebView)findViewById(R.id.state_search); stateBrowser.loadUrl("google.com/");`你可以说stateBrowser.getOriginalUrl();
    • 所以在用户将他们的搜索查询输入谷歌并选择他们感兴趣的链接(在网站中打开该新链接)后,我可以说 stateBrowser.getOriginalUrl();这将获取他们访问的新站点的 URL?
    • 我已编辑我的答案以包含一个示例程序。您可以将其用作参考点。
    猜你喜欢
    • 1970-01-01
    • 2017-08-23
    • 2012-12-06
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    相关资源
    最近更新 更多