0
在我試圖做的應用程序中,我想要實現搜索,這將調用休息api。由活動執行的工具欄中的SearchView
當我問很久以前就如何做一個搜索查看它工作正常 - >How to use SearchView in Toolbar Android
但現在我想嘗試一些「不同」(要了解多一點點)。但我做錯了什麼。
我試圖做的是使活動implmement SearchView.OnQueryTextListener
,所以whay我是:
public class PMov extends AppCompatActivity implements SearchView.OnQueryTextListener {
....
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
}
@Override
public boolean onQueryTextSubmit(String query) {
Toast.makeText(this, "TextSubmit", Toast.LENGTH_SHORT).show();
Logger.d("onQueryTextSubmit: " + query);
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
Toast.makeText(this, "TextChange", Toast.LENGTH_SHORT).show();
Logger.d("onQueryTextChange: " + newText);
return false;
}
}
和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:title="@string/action_search"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="always"
android:icon="@android:drawable/ic_menu_search"/>
</menu>
但由於某些原因(我肯定當我點擊並在「搜索框」中寫入某些內容時,方法不會被觸發。
我失蹤了什麼?我發現的所有例子都與我很久以前發佈的帖子類似。
我猜你必須告訴SearchView什麼是聽I.e. 'setOnQueryTextListener(this)' –
不確定,但是您是否嘗試過在searchView上調用'setOnQueryTextListener'並將匿名內部類用於'SearchView.OnQueryTextListener()'而不是在活動中實現,這對我很有用。 – user3820753