好吧,伙计们,我正在使用 lib Sherlock 并实现了一个片段,该片段在 android 版本 2.3 中运行没有问题,但是当我在 android 版本 4.0 上运行它时NullPointerException
发生错误,有人可以提供帮助,我是新手安卓编程。我的班级和[错误] [1]如下。
public class MainActivity extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Getting an instance of action bar
ActionBar actionBar = getSupportActionBar();
//
// // Enabling Tab Navigation mode for this action bar
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
//
// // Enabling Title
actionBar.setDisplayShowTitleEnabled(true);
//
// // Creating Android Tab
Tab tab1 = actionBar.newTab()
.setText("Android")
.setTabListener(new CustomTabListener<AndroidFragment>(this, "android", AndroidFragment.class) )
.setIcon(R.drawable.android);
//
// // Adding Android Tab to acton bar
actionBar.addTab(tab1);
//
// Creating Apple Tab
Tab tab2 = actionBar.newTab()
.setText("Apple")
.setTabListener(new CustomTabListener<AppleFragment>(this, "apple", AppleFragment.class))
.setIcon(R.drawable.apple);
// Adding Apple Tab to action bar
actionBar.addTab(tab2);
//
// // Orientation Change Occurred
if(savedInstanceState!=null){
int currentTabIndex = savedInstanceState.getInt("apple");
actionBar.setSelectedNavigationItem(currentTabIndex);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
int currentTabIndex = getSupportActionBar().getSelectedNavigationIndex();
outState.putInt("tab_index", currentTabIndex);
super.onSaveInstanceState(outState);
}
}
logcat in text format
06-06 04:33:00.496: E/AndroidRuntime(619): FATAL EXCEPTION: main
06-06 04:33:00.496: E/AndroidRuntime(619): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.wptrafficanalyzer.actionbarsherlocknavtabwithimages/in.wptrafficanalyzer.actionbarsherlocknavtabwithimages.MainActivity}: java.lang.NullPointerException
06-06 04:33:00.496: E/AndroidRuntime(619): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.app.ActivityThread.access$600(ActivityThread.java:122)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.os.Handler.dispatchMessage(Handler.java:99)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.os.Looper.loop(Looper.java:137)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.app.ActivityThread.main(ActivityThread.java:4340)
06-06 04:33:00.496: E/AndroidRuntime(619): at java.lang.reflect.Method.invokeNative(Native Method)
06-06 04:33:00.496: E/AndroidRuntime(619): at java.lang.reflect.Method.invoke(Method.java:511)
06-06 04:33:00.496: E/AndroidRuntime(619): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-06 04:33:00.496: E/AndroidRuntime(619): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-06 04:33:00.496: E/AndroidRuntime(619): at dalvik.system.NativeStart.main(Native Method)
06-06 04:33:00.496: E/AndroidRuntime(619): Caused by: java.lang.NullPointerException
06-06 04:33:00.496: E/AndroidRuntime(619): at in.wptrafficanalyzer.actionbarsherlocknavtabwithimages.CustomTabListener.onTabSelected(CustomTabListener.java:32)
06-06 04:33:00.496: E/AndroidRuntime(619): at com.actionbarsherlock.internal.app.ActionBarWrapper$TabWrapper.onTabSelected(ActionBarWrapper.java:338)
06-06 04:33:00.496: E/AndroidRuntime(619): at com.android.internal.app.ActionBarImpl.selectTab(ActionBarImpl.java:512)
06-06 04:33:00.496: E/AndroidRuntime(619): at com.android.internal.app.ActionBarImpl.addTab(ActionBarImpl.java:441)
06-06 04:33:00.496: E/AndroidRuntime(619): at com.android.internal.app.ActionBarImpl.addTab(ActionBarImpl.java:427)
06-06 04:33:00.496: E/AndroidRuntime(619): at com.actionbarsherlock.internal.app.ActionBarWrapper.addTab(ActionBarWrapper.java:371)
06-06 04:33:00.496: E/AndroidRuntime(619): at in.wptrafficanalyzer.actionbarsherlocknavtabwithimages.MainActivity.onCreate(MainActivity.java:31)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.app.Activity.performCreate(Activity.java:4465)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-06 04:33:00.496: E/AndroidRuntime(619): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
06-06 04:33:00.496: E/AndroidRuntime(619): ... 11 more