Android 在每个选项卡中嵌入布局?-(每个选项卡都有自己的活动)

Android 在每个选项卡中嵌入布局?-(每个选项卡都有自己的活动),android,android-tabhost,Android,Android Tabhost,我从HelloTabwidget示例开始,它工作得很好。现在我要做的是在每个选项卡中都有一个布局。下面是代码的样子 myApp extends TabActivity { TabHost tabHost; onCreate() { setContentView (R.layout.main); tabHost = getTabHost(); TabHost.tabspec spec = tabHost.newTabSpec(..).setIndicat

我从HelloTabwidget示例开始,它工作得很好。现在我要做的是在每个选项卡中都有一个布局。下面是代码的样子

myApp extends TabActivity {
  TabHost tabHost;
  onCreate() {
      setContentView (R.layout.main);
      tabHost = getTabHost();
      TabHost.tabspec spec = tabHost.newTabSpec(..).setIndicator(...).
               setContent(new Intent().setClass(...));
       tabHost.addTab(spec);
       :
  }
}

myTab1Actvity extends Activity {
  ListView myLV;
  EditText myET;

  onCreate() {
    setcontentView (TAB1_LAYOUT);

        myLV = findViewById(..);
  :
     myLV.setAdapter(aa);
     myET.setOnKeyListener(....)
    registerforContextMenu(myLV)
  }
}
当我在这里运行时,是堆栈跟踪


错误/AndroidRuntime(691):java.lang.NullPointerException
错误/AndroidRuntime(691):位于android.widget.TabHost.dispatchWindowFocusChanged(TabHost.java:295)
错误/AndroidRuntime(691):位于android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
错误/AndroidRuntime(691):位于android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
错误/AndroidRuntime(691):位于android.widget.TabHost.dispatchWindowFocusChanged(TabHost.java:295)
错误/AndroidRuntime(691):位于android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
错误/AndroidRuntime(691):位于android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
错误/AndroidRuntime(691):位于android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
错误/AndroidRuntime(691):位于android.view.ViewRoot.handleMessage(ViewRoot.java:1819)
错误/AndroidRuntime(691):位于android.os.Handler.dispatchMessage(Handler.java:99)
ERROR/AndroidRuntime(691):位于android.os.Looper.loop(Looper.java:123)
错误/AndroidRuntime(691):位于android.app.ActivityThread.main(ActivityThread.java:4363)
错误/AndroidRuntime(691):位于java.lang.reflect.Method.Invokenactive(本机方法)
ERROR/AndroidRuntime(691):位于java.lang.reflect.Method.invoke(Method.java:521)
ERROR/AndroidRuntime(691):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
ERROR/AndroidRuntime(691):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

代码流看起来正常吗?基本上每个选项卡都有自己的活动,每个选项卡都有自己的布局


TabHost中似乎有问题,但我无法准确指出。您的任何建议/建议都将非常有用

让我想起了“无限猴子定理”——不管怎样,问题是每个选项卡的布局文件中都有一个TabHost。我使用的第一级(根)标记是LinearLayout(而不是TabHost)

让我想起了不管怎么说,问题是每个选项卡的布局文件中也有一个TabHost。我使用的第一个级别(根)标记是LinearLayout(而不是TabHost)

是的,我将TabHost包装为LinearLayout,这个错误已经修复。非常感谢。先生,我也有同样的问题。但当我在android设备上运行我的应用程序时,我的应用程序运行良好。但当我在emulator上运行此应用程序时,会创建上述错误。请建议我该怎么办。谢谢,我进步了是的,我把TabHost包装成一个线性布局,这个bug已经修复了。非常感谢。先生,我也有同样的问题。但当我在android设备上运行我的应用程序时,我的应用程序运行良好。但当我在emulator上运行此应用程序时,会创建上述错误。请建议我该怎么办。谢谢你,我先走一步

ERROR/AndroidRuntime(691): java.lang.NullPointerException
ERROR/AndroidRuntime(691):     at android.widget.TabHost.dispatchWindowFocusChanged(TabHost.java:295)
ERROR/AndroidRuntime(691):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
ERROR/AndroidRuntime(691):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
ERROR/AndroidRuntime(691):     at android.widget.TabHost.dispatchWindowFocusChanged(TabHost.java:295)
ERROR/AndroidRuntime(691):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
ERROR/AndroidRuntime(691):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
ERROR/AndroidRuntime(691):     at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:661)
ERROR/AndroidRuntime(691):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1819)
ERROR/AndroidRuntime(691):     at android.os.Handler.dispatchMessage(Handler.java:99)
ERROR/AndroidRuntime(691):     at android.os.Looper.loop(Looper.java:123)
ERROR/AndroidRuntime(691):     at android.app.ActivityThread.main(ActivityThread.java:4363)
ERROR/AndroidRuntime(691):     at java.lang.reflect.Method.invokeNative(Native Method)
ERROR/AndroidRuntime(691):     at java.lang.reflect.Method.invoke(Method.java:521)
ERROR/AndroidRuntime(691):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
ERROR/AndroidRuntime(691):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)