Kode tempat saya bekerja, menggunakan a Toolbar
dan memekarkan a menu
.
Ini kodenya
private Toolbar mToolbar;
mToolbar.inflateMenu(R.menu.chat_screen_menu);
setupMenu ();
private void setupMenu ()
{
mMenu = mToolbar.getMenu();
if (mMenu != null)
{
if (mChatPager != null && mChatPager.getCurrentItem() > 0)
{
mMenu.setGroupVisible(R.id.menu_group_chats, true);
mMenu.setGroupVisible(R.id.menu_group_contacts, false);
}
else
{
mMenu.setGroupVisible(R.id.menu_group_chats, false);
mMenu.setGroupVisible(R.id.menu_group_contacts, true);
mMenu.setGroupVisible(R.id.menu_group_otr_verified,false);
mMenu.setGroupVisible(R.id.menu_group_otr_unverified,false);
mMenu.setGroupVisible(R.id.menu_group_otr_off,false);
}
}
mToolbar.setOnMenuItemClickListener(new OnMenuItemClickListener ()
{
..........
}
}
Tapi sekarang, mereka membutuhkan Search
tombol di tool_bar
. Saya berhasil meletakkannya, saya mengikuti panduan di sini
Ketika saya mencoba menulis sesuatu untuk dicari, roti panggang yang telah saya uji listener
tidak pernah ditampilkan. yang menunjukkan listener
tidak berfungsi
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.chat_screen_menu, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
mSearchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_menu_search));
final Toast toast = new Toast(mApp);
if (mSearchView != null )
{
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
mSearchView.setIconifiedByDefault(false);
SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener()
{
public boolean onQueryTextChange(String newText)
{
mSearchString = newText;
//doFilterAsync(mSearchString);
toast.makeText(getApplicationContext(), "Test1", Toast.LENGTH_LONG).show();
return true;
}
public boolean onQueryTextSubmit(String query)
{
mSearchString = query;
//doFilterAsync(mSearchString);
toast.makeText(getApplicationContext(), "Test2", Toast.LENGTH_LONG).show();
return true;
}
};
mSearchView.setOnQueryTextListener(queryTextListener);
}
return true;
}
import android.support.v7.widget.SearchView
androidx.appcompat.widget.SearchView
Jika Anda ingin mengatur fasilitas pencarian di dalam Anda
Fragment
, cukup tambahkan beberapa baris berikut:Langkah 1 - Tambahkan bidang pencarian untuk Anda
toolbar
:Langkah 2 - Tambahkan logika ke file
onCreateOptionsMenu()
sumber
R.menu.main
?Jika Anda ingin menambahkannya langsung di toolbar.
sumber
android.support.v7.widget.SearchView
dalam XML.implementation 'com.android.support:design:$latest_version'
Mengintegrasikan SearchView dengan RecyclerView
1) Tambahkan Item SearchView di Menu
SearchView
dapat ditambahkan sepertiactionView
pada menu menggunakan2) Terapkan SearchView.OnQueryTextListener di Aktivitas Anda
SearchView.OnQueryTextListener
memiliki dua metode abstrak. Jadi kerangka aktivitas Anda sekarang akan terlihat seperti ini setelah menerapkan pemroses teks SearchView.3) Siapkan teks SerchView Hint, pendengar, dll
4) Terapkan SearchView.OnQueryTextListener
Ini adalah bagaimana Anda bisa mengimplementasikan metode abstrak pendengar.
5) Tulis metode filter di Adaptor RecyclerView Anda.
Anda dapat membuat logika Anda sendiri berdasarkan kebutuhan Anda. Berikut adalah contoh cuplikan kode untuk menampilkan daftar Nama yang berisi teks yang diketik di
SearchView
.Sampel kode yang berfungsi lengkap dapat ditemukan> DI SINI
Anda juga dapat melihat kode di SearchView dengan database SQLite di Aplikasi Musik ini
sumber
Menerapkan SearchView tanpa menggunakan
menu.xml
file dan tombol buka melaluiDi Anda,
Activity
kami perlu menggunakan metodeonCreateOptionsMenu
metode di mana kami secara terprogram akan mengembangkan fileSearchView
Dan di kelas Aktivitas Anda, Anda dapat membuka
SearchView
klik tombol apa saja pada toolbar seperti di bawah inisumber