0
パブリックデータ(JSON)を使用してデータを取得し、リストビューで表示する単純なアプリケーションに取り組んでいます。それは大丈夫です。今度は、アクションバーに「検索ビュー」を実装したいと思います。だから私はYouTubeチュートリアル(https://www.youtube.com/watch?v=hoEY2n8CCSk)に従って、彼がしたことを正確に行いました。 searchviewは意図したとおりに表示されますが、検索機能は全く機能しません。私はYouTubeのチュートリアルはちょうど文字列をフィルタリングだと思うが、私は各オブジェクトの名前変数によってリストビューでオブジェクトをフィルタリングする必要があります。使用getName()メソッド。私は何をすべきか??searchview oncreateoptionsメソッドがJSON(Android)のオブジェクトと連携していません
MainActivity.java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_search, menu);
MenuItem item = menu.findItem(R.id.menuSearch);
SearchView searchView = (SearchView) item.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
mAdapter.getFilter().filter(newText);
return false;
}
});
return super.onCreateOptionsMenu(menu);
}
AndroidMenifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/myAppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
menu_search.xml
<item android:id="@+id/menuSearch"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="always">
</item>
まだ何もしない.. :(ところで、私はこれのためにonOptionItemSelectedを使うべきですか? – JessJ
はい..私のコードを試しましたか?それは私の場合に働くからです。私はドームを作った。 –
はい、試してみました。検索バーに入力すると何も起こりません。 – JessJ