簡體   English   中英

在Android中通過查詢開始搜索活動

[英]Start search activity with query in android

我能夠在android中創建SearchActivity 它很好用,但是我想在SearchActivity啟動時在Search Widget顯示Query 我怎么能得到這個? 這是我與搜索查詢plumber MainActivity 在此處輸入圖片說明

當我單擊搜索按鈕時,這是我的SearchActivity 在此處輸入圖片說明

現在我想的是,當SearchActivity打開它應該有plumber ,在它的Search.Widget就像在MainActivity而進入查詢。

這是您在尋找的menu_search.xml嗎?

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".ui.home.activities.TransactionSearchActivity">
    <item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        android:title="@string/search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="ifRoom" />
</menu>

private EditText searchPlate;
    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.menu_search, menu);
            final MenuItem searchItem = menu.findItem(R.id.action_search);

            if (searchItem != null) {
                searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
                searchView.setOnCloseListener(new SearchView.OnCloseListener() {
                    @Override
                    public boolean onClose() {
                        return false;
                    }
                });
                searchView.setOnSearchClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                    }
                });
                searchPlate = (EditText) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
                searchPlate.setHint("Search");
                View searchPlateView = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate);
                searchPlateView.setBackgroundColor(ContextCompat.getColor(this, android.R.color.transparent));
                // use this method for search process
                searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
                    @Override
                    public boolean onQueryTextSubmit(String query) {
                        // use this method when query submitted
                        return false;
                    }

                    @Override
                    public boolean onQueryTextChange(String newText) {
                        // use this method for auto complete search process
                        return false;
                    }
                });
                SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
                searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

            }
            return super.onCreateOptionsMenu(menu);
        }

然后在onResume()

用這個

searchPlate.setText("My Search Query");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM