我在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”中按搜索键进行默认搜索时,搜索我有错误:
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 ......
答案 0 :(得分:0)
有同样的问题。我用它来解决这个问题。
@Override
public boolean onSearchRequested() {
return true;
}
答案 1 :(得分:0)
对于其他人,我认为通过返回true,应用程序会显示用户不期望的行为,因为它应该显示某种搜索并返回true,这会被覆盖。
文章http://www.app-solut.com/blog/2011/10/unexpected-behavior-when-working-with-nested-tabhosts/展示了如何在不更改默认行为的情况下在TabHost中解决此问题的好方法。