SearchDialog无法在ActivityGroup中显示

时间:2011-03-28 15:24:35

标签: android activitygroup

我在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 ......

2 个答案:

答案 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中解决此问题的好方法。