2013-08-22 50 views
0

我想要实现的Android搜索方法的android斯卡拉Eclipse插件中:Android小工具搜索查看OnQueryTextListener

我有这样的方法:

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,空,这一点)”我有一个错误的‘本’,我的错误是:

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: 

回答

1

你的 “这” 指的是什么,类型为OnQueryTextListener 。它应该是LoaderCallbacks [?]类型变量的引用。 尝试用LoaderCallbacks变量替换它。

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

例如,如果你遵循the official android document,尝试

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 = ??? 
+0

感谢您的回复,但仍然错误我更新了问题 – Elnaz

+0

您的班级是否有装载机特质? “与LoaderManager.LoaderCallbacks [光标]” – pt2121

+0

如...类CursorLoaderListFragment ListFragment与OnQueryTextListener与OnCloseListener扩展了LoaderManager.LoaderCallbacks [光标] { – pt2121