一對一聊天原始碼,動態搜尋,自動填充可能相關的內容

zhibo系統開發發表於2022-02-25

一對一聊天原始碼,動態搜尋,自動填充可能相關的內容實現的相關程式碼

JimengSearchView.java

public class JimengSearchView extends Activity implements SearchView.OnQueryTextListener {
    private SearchView mSearchView;
    private ListView mListView;
    private ArrayAdapter<String> mAdapter;
    private final String[] mStrings = Cheeses.sCheeseStrings;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
        setContentView(R.layout.searchview_filter);
        mSearchView = (SearchView) findViewById(R.id.search_view);
        mListView = (ListView) findViewById(R.id.list_view);
        mListView.setAdapter(mAdapter = new ArrayAdapter<>(this,
                android.R.layout.simple_list_item_1,
                mStrings));
        //設定是否可以通過鍵盤輸入的字元來過濾掉不需要的選項,定位到需要的選項。
        mListView.setTextFilterEnabled(true);
        setupSearchView();
        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String str = (String)((TextView) view).getText();
                Toast.makeText(JimengSearchView.this,str,Toast.LENGTH_SHORT).show();
            }
        });
    }
    private void setupSearchView() {
        //設定搜尋框直接展開顯示。左側有放大鏡(在搜尋框中) 右側有叉叉 可以關閉搜尋框
        //mSearchView.setIconified(false);
        //設定搜尋框直接展開顯示。左側有放大鏡(在搜尋框外) 右側無叉叉 有輸入內容後有叉叉 不能關閉搜尋框
        //mSearchView.setIconifiedByDefault(false);
        //設定搜尋框直接展開顯示。左側有無放大鏡(在搜尋框中) 右側無叉叉 有輸入內容後有叉叉 不能關閉搜尋框
        mSearchView.onActionViewExpanded();
        //為 SearchView 中的使用者操作設定偵聽器。
        mSearchView.setOnQueryTextListener(this);
        //當查詢非空時啟用顯示提交按鈕。
        mSearchView.setSubmitButtonEnabled(false);
        //查詢提示語句
        mSearchView.setQueryHint(getString(R.string.cheese_hunt_hint));
    }
    //使用者輸入字元時激發該方法
    public boolean onQueryTextChange(String newText) {
        if (TextUtils.isEmpty(newText)) {
            mListView.clearTextFilter();
        } else {
            mListView.setFilterText(newText.toString());
        }
        return true;
    }
    public boolean onQueryTextSubmit(String query) {
        return false;
    }
}

佈局檔案:

<LinearLayout xmlns:android="
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    <SearchView
            android:id="@+id/search_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    <ListView
            android:id="@+id/list_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"/>
</LinearLayout>
strings.xml
  <string name="cheese_hunt_hint">請輸入要查詢的內容</string>

Cheeses.java

public class Cheeses {
    public static final String[] sCheeseStrings = {
            "Android自定義view之3D正方體","計蒙不吃魚","Android自定義view之利用drawArc方法實現動態效果","Android 3D效果的實現","OkHttp原始碼解析",
            "Android翻轉動畫(卡片翻轉效果)","Android自定義view之圍棋動畫","Android自定義view之模仿登入介面文字輸入框(華為雲APP)",
            "Android自定義view之太極圖","Android自定義view獲取attr中自定義顏色的問題","Android對抗反編譯","Android常用的room增刪改查語句(外部資料庫)",
            "Android用Canvas畫一個折線圖,並加以簡單封裝","Android用Canvas畫一個真正能跑的跑馬燈","Android網路小說閱讀器的實現",
            "Android護眼模式(argb)","Android約束佈局ConstraintLayout","Android實現EditText的抖動效果"
    };
}


以上就是 一對一聊天原始碼,動態搜尋,自動填充可能相關的內容實現的相關程式碼,更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2857805/,如需轉載,請註明出處,否則將追究法律責任。

相關文章