2017-07-22 7 views
1

私はアプリを開発中です。それはsearchviewが必要です。カーソルアダプタで作業中に問題が発生しました。私は単純に、文字列配列またはxml文字列配列を提案アダプタに表示する必要があります。私が検索ボタンをクリックするとそれは示唆を表示し、示唆にはそれが与えられた仕事をクリックする。 この問題を解決するのに役立つコードが必要です。私はプロのプログラマーではない。Searchable SearchView android studioのsetSuggestionsAdapter()

答えて

1

あなたは私はこれが役立つことを願って、この

 @Override 
     public boolean onCreateOptionsMenu(Menu menu) { 

      getMenuInflater().inflate(R.menu.activity_main_menu, menu); 
      searchMenuItem = menu.findItem(R.id.action_search) 

      searchView = (SearchView) searchMenuItem.getActionView(); 
      searchAutoComplete = (SearchView.SearchAutoComplete) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text); 

      SearchManager searchManager = 
          (SearchManager) getSystemService(this.SEARCH_SERVICE); 
        searchView.setSearchableInfo(
          searchManager.getSearchableInfo(getComponentName())); 

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.suggetion, jsonArrayList); 

        // jsonarraylist is static string array 

      searchAutoComplete.setAdapter(adapter); 

      searchAutoComplete.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
          // Your code for onitemclick 
      } 
     } 

activity_main_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
    <menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto"> 

     <item 
      android:id="@+id/action_search" 
      android:icon="@drawable/ic_search" 
      android:title="@string/search" 
      app:actionViewClass="android.support.v7.widget.SearchView" 
      app:showAsAction="always|collapseActionView"/> 
    </menu> 

suggetion.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="?android:attr/dropDownItemStyle" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:background="@color/colorAccent" 
    android:textAppearance="?android:attr/textAppearanceLargePopupMenu"/> 

のような下の何かをしようと、SearchAutoCompleteビューを使用して達成することができますあなた、すべて最高です。

+0

おかげで多くの兄弟はすべてうまく動作しています。私はlayour.suggestionを実装することができます。 :) –

+0

申し訳ありませんが、言及を忘れて...編集された:) –

+0

ありがとう。フラグメント化するために実装したい場合はどうすればいいですか?(ナビゲーションバーのレイアウトで) –

関連する問題