繁体   English   中英

android小部件SearchView OnQueryTextListener

[英]android widget SearchView OnQueryTextListener

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

我有这种方法:

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”错误,我的错误是:

 type mismatch; found : android.widget.SearchView.OnQueryTextListener required: 
  android.support.v4.app.LoaderManager.LoaderCallbacks[?]

你能帮我实现这个问题吗

提前致谢!

更新1:

我以前用过但是还是有错误

 getLoaderManager.restartLoader(0, null, BooksFragment.this)

我的错误是:

 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: 

您的“ this”是指类型为OnQueryTextListener的东西。 它应该是具有LoaderCallbacks [?]类型的变量的引用。 尝试将其替换为LoaderCallbacks变量。

也许getLoaderManager.restartLoader(0,null,yourLoaderClassVariable)

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

getLoaderManager.restartLoader(0, null, CursorLoaderListFragment.this)

更新:

class CursorLoaderListFragment extends ListFragment with OnQueryTextListener with OnCloseListener with LoaderManager.LoaderCallbacks[Cursor] {
...
    def onQueryTextChange(newText: String): Boolean = {
    ...
        getLoaderManager.restartLoader(0, null, CursorLoaderListFragment.this)
    ...
    true
    }
}

在您的情况下,可能看起来像这样:

class BooksFragment extends ListFragment with OnQueryTextListener with OnCloseListener with LoaderManager.LoaderCallbacks[Cursor]

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

def onLoadFinished(l: Loader[Cursor], c: Cursor): Unit = ??? 
def onLoaderReset(l: Loader[Cursor]): Unit = ??? 
def onQueryTextChange(s: String): Boolean = ???

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM