首页 > 解决方案 > 我正在尝试将我正在关注的书中的代码添加到我正在编写的现有代码中

问题描述

打开 PodcastActivity.kt 并将以下几行添加到类的顶部。这是问题 这是我通过 viewModels() 添加 private val searchViewModel 的代码 private lateinit var podcastListAdapter: PodcastListAdapter 这是我将它添加到类 PodcastActivity : AppCompatActivity() { override fun onCreateOptionsMenu(menu: Menu): Boolean {

    // 1
    val inflater = menuInflater
    inflater.inflate(R.menu.menu_search, menu)
    // 2
    val searchMenuItem = menu.findItem(R.id.search_item)
    val searchView = searchMenuItem?.actionView as SearchView
    // 3
    val searchManager = getSystemService(Context.SEARCH_SERVICE)
            as SearchManager
    // 4
    searchView.setSearchableInfo(
       searchManager.getSearchableInfo(componentName)
    )
    return true
    setupToolbar()
}

private fun performSearch(term: String) {
    val itunesService = ItunesService.instance
    val itunesRepo = ItunesRepo(itunesService)
    itunesRepo.searchByTerm(term) {
        Log.i(Companion.TAG, "Results = $it")
    }
}

private fun handleIntent(intent: Intent) {
    if (Intent.ACTION_SEARCH == intent.action) {
        val query = intent.getStringExtra(SearchManager.QUERY) ?: return
        performSearch(query)
    }
}

override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    setIntent(intent)
    handleIntent(intent)
}

companion object {
    private const val TAG = "PodcastActivity"
}

private fun setupToolbar() {
    setSupportActionBar(toolbar)
}

}

标签: android-recyclerviewviewmodel

解决方案


推荐阅读