2014-04-07 32 views
0

當我想從Tab中刪除標籤主機一段時間它的工作完美,但有些時候它給了我NullPointerException我沒有得到任何解決方案,我讀了很多解決方案但對我來說沒有任何作用。從TabHost中刪除選項卡給我運行時異常(NullPointerException)

這是我的代碼。代碼中的錯誤是什麼,我該如何解決這個問題?

這是TabHost的代碼中監聽

這是在點擊刪除BTN當

try{ 
tabHost_For_Excercise.setCurrentTab(selected_Tab); 

tabHost_For_Excercise.getTabWidget() 
     .removeView(tabHost_For_Excercise.getTabWidget().getChi ldTabViewAt(selected_Tab)); 
}catch (Exception e) { 
    // TODO: handle exception 
} 

這是我的日誌貓

04-07 17:09:01.877: E/AndroidRuntime(30086): FATAL EXCEPTION: main 
04-07 17:09:01.877: E/AndroidRuntime(30086): java.lang.NullPointerException 
04-07 17:09:01.877: E/AndroidRuntime(30086): at 
android.view.ViewGroup.dispatchDraw(ViewGroup.java:2500) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at 
android.widget.TabWidget.dispatchDraw(TabWidget.java:323) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at 
android.view.View.draw(View.java:11187) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.drawChild(ViewGroup.java:2892) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2494) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.drawChild(ViewGroup.java:2890) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2494) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.drawChild(ViewGroup.java:2890) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2494) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.drawChild(ViewGroup.java:2890) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2494) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.View.draw(View.java:11187) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.widget.FrameLayout.draw(FrameLayout.java:450) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.drawChild(ViewGroup.java:2892) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2494) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.drawChild(ViewGroup.java:2890) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2494) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.View.draw(View.java:11187) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.widget.FrameLayout.draw(FrameLayout.java:450) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2291) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2210) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1816) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2628) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at  android.os.Looper.loop(Looper.java:137) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at android.app.ActivityThread.main(ActivityThread.java:4511) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at java.lang.reflect.Method.invokeNative(Native Method) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at java.lang.reflect.Method.invoke(Method.java:511) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
04-07 17:09:01.877: E/AndroidRuntime(30086): at dalvik.system.NativeStart.main(Native Method) 
+0

安置自己的logcat – VenomVendor

回答

0

我得到的代碼我的回答很早,但很抱歉發佈這麼晚

我只是保存每個則tabspecArrayList的名單之後,我只是刪除所有瀏覽表格表佈局 tLayout.clearAllView(); 並從刪除list.remove(位置)以及。

,比從開始添加則tabspec持續使用ArrayList的

for(int i=0;i<tabSpec.size();i++){ 
     tLayout.addTabSpec(tabSpec.get(i)); 
    } 
相關問題