我有一個我們正在移植到Honeycomb/Android 3.0的Android應用程序,我們在我們的新界面中使用Fragment
。是否可以在碎片內搜索?
我通過小工具搜索工作,如圖所示here。
問題是,在使用Fragment
s時,小部件不再彈出。所以問題是我如何使用Fragment
s來搜索?
或者我該如何更換這條線與Fragment
s?
getActivity().onSearchRequested();
我有一個我們正在移植到Honeycomb/Android 3.0的Android應用程序,我們在我們的新界面中使用Fragment
。是否可以在碎片內搜索?
我通過小工具搜索工作,如圖所示here。
問題是,在使用Fragment
s時,小部件不再彈出。所以問題是我如何使用Fragment
s來搜索?
或者我該如何更換這條線與Fragment
s?
getActivity().onSearchRequested();
你不能。 SearchManager
實現與Activity
s一起使用,而不是Fragment
s。有關更多信息,請參閱this post。
我使用接口/回調來解決這個問題。
在我MainActivity
,我寫了一個回調接口:
private SearchRequestedCallback mSearchRequestedCallback;
public void setSearchRequestedCallback(SearchRequestedCallback callback) {
mSearchRequestedCallback = callback;
}
public interface SearchRequestedCallback {
void onSearchRequested();
}
在我Fragment
,我設置回調在onStart()
並取消其在onStop()
:
@Override
public void onStart() {
super.onStart();
getActivity().setTitle(getResources().getString(R.string.app_name));
((MainActivity)getActivity()).setSearchRequestedCallback(new SearchRequestedCallback() {
@Override
public void onSearchRequested() {
addFilter();
}
});
}
@Override
public void onStop() {
((MainActivity)getActivity()).setSearchRequestedCallback(null);
super.onStop();
}
運氣好的話,這個問題? – Kid24 2011-08-31 02:21:04
無。必須創建我自己的搜索機制。 – 2011-09-19 14:48:03
這可能是你的問題的答案:看第三個答案] [1] [1]:http://stackoverflow.com/questions/7230893/android-search-with-fragments – MLoydd 2012-05-07 13:27:10