У меня есть два действия внутри ActivityGroup, один "ProvinceActivity" и еще один "CityActivity". поэтому код:
public class CityManagerActivity extends ActivityGroup {
View v1 = getLocalActivityManager().startActivity(
"tab1",
new Intent(this, ProvinceActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();
replaceView(v1);
}
но когда у меня есть поиск по умолчанию, нажав клавишу поиска в "tab1", у меня есть ERROR:
08-19 17:18:23.438: ERROR/AndroidRuntime(9078): Uncaught handler: thread main exiting due to uncaught exception
08-19 17:18:23.458: ERROR/AndroidRuntime(9078): java.lang.IllegalArgumentException: no ident
08-19 17:18:23.458: ERROR/AndroidRuntime(9078): at android.app.Activity.ensureSearchManager(Activity.java:3499)
08-19 17:18:23.458: ERROR/AndroidRuntime(9078): at android.app.Activity.startSearch(Activity.java:2648)
08-19 17:18:23.458: ERROR/AndroidRuntime(9078): at android.app.Activity.onSearchRequested(Activity.java:2612) ...
второй поиск работает, скажите мне, как это сделать, PLZ...
Иметь такую же проблему. Я использую это и исправляю проблему.
@Override
public boolean onSearchRequested() {
return true;
}
Для других, которых я думаю, просто вернув true, приложение показывает поведение, которое пользователь не ожидает, потому что он должен показывать какой-то поиск и, вернув true, это переопределяется.
В статье http://www.app-solut.com/blog/2011/10/unexpected-behavior-when-working-with-nested-tabhosts/ показан хороший способ решения этой проблемы в TabHost без изменения поведения по умолчанию.