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!" />
據(jù)我所知,我正在做我在android sdk的tabs1 api示例中看到的相同內(nèi)容.我嘗試過“getLayoutInflator()”而不是“LayoutInflator.from(this)”,結(jié)果相同.
如果我用“setContentView(R.layout.unit_view)”替換LayoutInflater行,我的程序不會因空指針異常而崩潰,但我的內(nèi)容完全空白且為空.我得到了標(biāo)簽,就是這樣.
我已經(jīng)檢查過確保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'
任何人都知道如何在不崩潰我的應(yīng)用程序的情況下將這些內(nèi)容放入選項卡中?我的實際程序更復(fù)雜,并且有多個選項卡,但我將其簡化為試圖找出它崩潰的原因,但它仍然崩潰,我不知道為什么.
如果我不使用LayoutInflator,我的程序不會崩潰,但我也沒有得到任何內(nèi)容,只有標(biāo)簽.
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的android getdecorview 出现空指针,android – 为什么我从TabWidget得到一个空指针异常?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 滚动画画,Android
- 下一篇: linux 退后根目录,linux下半部