私は自分の SearchView に歴史を持ちたいと思っています。私はグーグルで検索してきました。私が見つけた唯一の賢明な (?) チュートリアルはthisでしたが、それは Gingerbread のようなものであり、API>14 ではありません。
次に、このコードを見つけました:
String[] columnNames = {"_id","text"};
MatrixCursor cursor = new MatrixCursor(columnNames);
String[] array = {"Snääälla", "bla bla bla", "Jävla piss"}; //if strings are in resources
String[] temp = new String[2];
int id = 0;
for(String item : array){
temp[0] = Integer.toString(id++);
temp[1] = item;
cursor.addRow(temp);
}
String[] from = {"text"};
int[] to = {android.R.id.text1};
CursorAdapter ad = new SimpleCursorAdapter(this.getActivity(), android.R.layout.simple_list_item_1, cursor, from, to);
mSearchView.setSuggestionsAdapter(ad);
そして、そのコードは半分しか機能しません。既に記述した内容の結果は表示されず、すべての項目が表示されるからです。
私はそれを次のようにしたいだけです:
これは、SearchView を追加するための現在のコードです。
res/menu/menu.xml:
<item android:id="@+id/fragment_searchmenuitem"
android:icon="@drawable/ic_search_white"
android:title="@string/menu_search"
android:showAsAction="collapseActionView|ifRoom"
android:actionViewClass="android.widget.SearchView" />
MainActivity.java:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if(!mDrawerLayout.isDrawerOpen(mDrawerList)) {
inflater.inflate(R.menu.fragment_search, menu);
mMenuItem = menu.findItem(R.id.fragment_searchmenuitem);
mSearchView = (SearchView) mMenuItem.getActionView();
mMenuItem.expandActionView();
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
mMenuItem.collapseActionView();
searchSupport.SearchForLyrics(s);
actionBar.setSubtitle("Searcing for: " + s);
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
}
super.onCreateOptionsMenu(menu, inflater);
}
正直なところ、どこから始めればよいかわかりません。そのため、どんな助けでも本当に感謝しています。