首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓小部件SearchView OnQueryTextListener

安卓小部件SearchView OnQueryTextListener
EN

Stack Overflow用户
提问于 2013-08-22 17:38:00
回答 1查看 846关注 0票数 0

我想在插件中实现android搜索方法:

我有这样的方法:

代码语言:javascript
运行
复制
val queryListener = new OnQueryTextListener() {

override def onQueryTextChange(newText: String): Boolean = {
  if (TextUtils.isEmpty(newText)) {
    getActivity.getActionBar.setSubtitle("List")
    val grid_currentQuery = null
  } else {
    getActivity.getActionBar.setSubtitle("List - Searching for: " + newText)
    val grid_currentQuery = newText
  }
  getLoaderManager.restartLoader(0, null, this)

  false
}

在“getLoaderManager.restartLoader(0,null,this)”行中,我对" this“有一个错误,我的错误是:

代码语言:javascript
运行
复制
 type mismatch; found : android.widget.SearchView.OnQueryTextListener required: 
  android.support.v4.app.LoaderManager.LoaderCallbacks[?]

你能帮我实现一下吗?

提前感谢!

更新1 :

我以前用过,但还是错了

代码语言:javascript
运行
复制
 getLoaderManager.restartLoader(0, null, BooksFragment.this)

我的错误是:

代码语言:javascript
运行
复制
 Multiple markers at this line
- type mismatch; found : com.android.BooksFragment required: 
 android.support.v4.app.LoaderManager.LoaderCallbacks[?]
- type mismatch; found : com.android.BooksFragment required: 
EN

Stack Overflow用户

回答已采纳

发布于 2013-08-22 18:54:44

您的"this“指的是具有OnQueryTextListener类型的东西。它应该是带有LoaderCallbacks类型的变量的引用。尝试用一个LoaderCallbacks变量替换它。

可能是getLoaderManager.restartLoader(0,null,yourLoaderClassVariable)

例如,如果您遵循官方android文档,请尝试

代码语言:javascript
运行
复制
getLoaderManager.restartLoader(0, null, CursorLoaderListFragment.this)

更新:

代码语言:javascript
运行
复制
class CursorLoaderListFragment extends ListFragment with OnQueryTextListener with OnCloseListener with LoaderManager.LoaderCallbacks[Cursor] {
...
    def onQueryTextChange(newText: String): Boolean = {
    ...
        getLoaderManager.restartLoader(0, null, CursorLoaderListFragment.this)
    ...
    true
    }
}

在您的例子中,它可能如下所示:

代码语言:javascript
运行
复制
class BooksFragment extends ListFragment with OnQueryTextListener with OnCloseListener with LoaderManager.LoaderCallbacks[Cursor]

更新2:对于第二个错误,尝试添加以下三行。您可以稍后实现它们。

代码语言:javascript
运行
复制
def onLoadFinished(l: Loader[Cursor], c: Cursor): Unit = ??? 
def onLoaderReset(l: Loader[Cursor]): Unit = ??? 
def onQueryTextChange(s: String): Boolean = ???
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18387240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档