Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 关于tabshost下活动组的问题_Android_Android Tabhost - Fatal编程技术网

Android 关于tabshost下活动组的问题

Android 关于tabshost下活动组的问题,android,android-tabhost,Android,Android Tabhost,我正在开发一个应用程序,它在tabhost中有一个活动组,所以我在同一个选项卡中有一个活动工作堆栈 如果我在另一个活动中启动搜索界面正常工作,当我尝试搜索界面并在该选项卡内时,问题就会出现。” 此外,如果我尝试使用“onClick”选项从布局xml执行方法,应用程序将崩溃 01-06 10:09:24.533: E/AndroidRuntime(1404): Caused by: android.view.WindowManager$BadTokenException: Unable to ad

我正在开发一个应用程序,它在tabhost中有一个活动组,所以我在同一个选项卡中有一个活动工作堆栈

如果我在另一个活动中启动搜索界面正常工作,当我尝试搜索界面并在该选项卡内时,问题就会出现。”

此外,如果我尝试使用“onClick”选项从布局xml执行方法,应用程序将崩溃

01-06 10:09:24.533: E/AndroidRuntime(1404): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@40538fa0 is not valid; is your activity running?
01-06 10:09:24.533: E/AndroidRuntime(1404):     at android.view.ViewRoot.setView(ViewRoot.java:562)
01-06 10:09:24.533: E/AndroidRuntime(1404):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
01-06 10:09:24.533: E/AndroidRuntime(1404):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
01-06 10:09:24.533: E/AndroidRuntime(1404):     at android.view.Window$LocalWindowManager.addView(Window.java:433)
01-06 10:09:24.533: E/AndroidRuntime(1404):     at android.app.Dialog.show(Dialog.java:265)
01-06 10:09:24.533: E/AndroidRuntime(1404):     at android.app.DatePickerDialog.show(DatePickerDialog.java:132)
01-06 10:09:24.533: E/AndroidRuntime(1404):     at android.app.Activity.showDialog(Activity.java:2727)
01-06 10:09:24.533: E/AndroidRuntime(1404):     at android.app.Activity.showDialog(Activity.java:2685)
我还注意到,如果我打算在此ActivityGroup内显示对话框,则会崩溃,但我会将此问题与父活动的上下文重叠,以显示它

m_ProgressDialog = ProgressDialog.show(getParent(), "Please wait", "Downloading info", true,false);
反而

    m_ProgressDialog = ProgressDialog.show(this, "Please wait", "Downloading info", true,false);
有一个嵌套的类可能会有些问题吗

问候

我想你在用

setContentView(R.layout.your_id);
这会导致ActivityGroup中出现上下文问题

试着这样使用它:

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.your_id, null);
setContentView(viewToLoad);
作为一个简短的提示:您可能应该切换到片段,因为ActivityGroup已经被弃用了。它们会带来很多麻烦…

View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.your_id, null);
setContentView(viewToLoad);

删除xml文件中的onClick方法,并在java代码中的按钮上放置一个onClick侦听器。这样就可以了;)

最后有很多问题,我不清楚您在寻找什么。请澄清您的问题。是的,当涉及到Tabhost时,在显示对话框时,您需要使用getParent()而不是这样,因为对话框窗口会使整个应用程序膨胀。