1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > android getdecorview 出现空指针 android – 为什么我从TabWidget得到一个空指针异常?...

android getdecorview 出现空指针 android – 为什么我从TabWidget得到一个空指针异常?...

时间:2022-04-01 01:24:36

相关推荐

android getdecorview 出现空指针 android – 为什么我从TabWidget得到一个空指针异常?...

我正在编写一个android程序,其中我有一个使用制表符的活动.

活动

public class UnitActivity extends TabActivity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TabHost tabHost = getTabHost();

TabSpec spec;

Resources res = getResources();

LayoutInflater.from(this).inflate(R.layout.unit_view, tabHost.getTabContentView(), true);

spec = tabHost.newTabSpec("controls");

spec.setIndicator("Control", res.getDrawable(R.drawable.ic_tab_equalizer));

spec.setContent(R.id.txtview);

tabHost.addTab(spec);

}

}

R.layout.unit_view引用的XML

android:id="@android:id/tabhost"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:padding="5dp">

android:layout_width="fill_parent"

android:layout_height="wrap_content"/>

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:padding="5dp">

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="bottom"

android:text="nullpointer this!" />

据我所知,我正在做我在android sdk的tabs1 api示例中看到的相同内容.我尝试过“getLayoutInflator()”而不是“LayoutInflator.from(this)”,结果相同.

如果我用“setContentView(R.layout.unit_view)”替换LayoutInflater行,我的程序不会因空指针异常而崩溃,但我的内容完全空白且为空.我得到了标签,就是这样.

我已经检查过确保R.layout.unit_view和tabHost在运行LayoutInflater行时不为空,它们似乎没问题.他们肯定不是空的.我还检查过确保LayoutInflater.from(this)返回一个有效的布局inflater对象,它确实如此.

指示错误的logcat说

E/AndroidRuntime( 541): java.lang.NullPointerException

E/AndroidRuntime( 541): at android.widget.TabWidget.dispatchDraw(TabWidget.java:206)

E/AndroidRuntime( 541): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

E/AndroidRuntime( 541): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

E/AndroidRuntime( 541): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

E/AndroidRuntime( 541): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

E/AndroidRuntime( 541): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

E/AndroidRuntime( 541): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

E/AndroidRuntime( 541): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

E/AndroidRuntime( 541): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

E/AndroidRuntime( 541): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

E/AndroidRuntime( 541): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

E/AndroidRuntime( 541): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

E/AndroidRuntime( 541): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

E/AndroidRuntime( 541): at android.view.View.draw(View.java:6538)

E/AndroidRuntime( 541): at android.widget.FrameLayout.draw(FrameLayout.java:352)

E/AndroidRuntime( 541): at android.view.ViewGroup.drawChild(ViewGroup.java:1531)

E/AndroidRuntime( 541): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

E/AndroidRuntime( 541): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

E/AndroidRuntime( 541): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

E/AndroidRuntime( 541): at android.view.View.draw(View.java:6538)

E/AndroidRuntime( 541): at android.widget.FrameLayout.draw(FrameLayout.java:352)

E/AndroidRuntime( 541): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1830)

E/AndroidRuntime( 541): at android.view.ViewRoot.draw(ViewRoot.java:1349)

E/AndroidRuntime( 541): at android.view.ViewRoot.performTraversals(ViewRoot.java:1114)

E/AndroidRuntime( 541): at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)

E/AndroidRuntime( 541): at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime( 541): at android.os.Looper.loop(Looper.java:123)

E/AndroidRuntime( 541): at android.app.ActivityThread.main(ActivityThread.java:4363)

E/AndroidRuntime( 541): at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime( 541): at java.lang.reflect.Method.invoke(Method.java:521)

E/AndroidRuntime( 541): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)

E/AndroidRuntime( 541): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

E/AndroidRuntime( 541): at dalvik.system.NativeStart.main(Native Method)

I/Process ( 61): Sending signal. PID: 541 SIG: 3

I/dalvikvm( 541): threadid=7: reacting to signal 3

I/dalvikvm( 541): Wrote stack trace to '/data/anr/traces.txt'

任何人都知道如何在不崩溃我的应用程序的情况下将这些内容放入选项卡中?我的实际程序更复杂,并且有多个选项卡,但我将其简化为试图找出它崩溃的原因,但它仍然崩溃,我不知道为什么.

如果我不使用LayoutInflator,我的程序不会崩溃,但我也没有得到任何内容,只有标签.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。