gpt4 book ai didi

android - 寻找以单一 Activity 应用程序方法在 Android 中实现 SearchView 的想法

转载 作者:行者123 更新时间:2023-12-04 04:22:56 25 4
gpt4 key购买 nike

寻找在 Android 中实现 SearchView 的想法。我在我的应用程序中使用单一 Activity 方法。我正在关注这个文档:https://developer.android.com/guide/topics/search/search-dialog

但这会增加添加新 Activity 的开销。

目前在我的应用程序中有一堆屏幕,我只需要在一个屏幕上显示 SearchView。

最佳答案

不需要新的 Activity 。

使用 SearchView 创建一个 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"
android:menuCategory="secondary"
app:showAsAction="ifRoom|collapseActionView"
app:actionViewClass="androidx.appcompat.widget.SearchView"/>
</menu>

然后在 fragment 中,你想显示它:

    override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setHasOptionsMenu(true)
}

override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.your_menu_with_search, menu)
setupSearchView(menu.findItem(R.id.action_search).actionView as SearchView)
}


private fun setupSearchView(searchView: SearchView) {
searchView.queryHint = "Your option query hint"
searchView.setOnQueryTextListener(object: SearchView.OnQueryTextListener {
override fun onQueryTextChange(newText: String?): Boolean {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}

override fun onQueryTextSubmit(query: String?): Boolean {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}

})
}
}

我假设你已经用工具栏设置了你的 navController,如果没有,我会链接文档来完成它,因为它超出了你的问题范围,祝你好运.

关于android - 寻找以单一 Activity 应用程序方法在 Android 中实现 SearchView 的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58633463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com