다른 액티비티 클래스에서 액세스하는 다른 MainActivity 클래스의 메서드를 사용하여 다른 모든 작업에 대한 응용 프로그램 막대의 탭을 인스턴스화합니다. ClassWide.Java
actionBar.addTab throw NullPointerException
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wide_view);
MainActivity cObj = new MainActivity();
cObj.initiateMenuTabs(getActionBar());
.... ....
에서 호출
내 기능
public void initiateMenuTabs(ActionBar actionBar) {
try {
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction arg1) {
int tabPosition = tab.getPosition();
switch (tabPosition) {
case 0:
setContentView(R.layout.event_feed);
break;
case 1: {
Intent startClassActivity = new Intent(MainActivity.this,
ClassWide.class);
startActivity(startClassActivity);
break;
}
case 2:
setContentView(R.layout.event_feed);
break;
}
}
@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
// TODO Auto-generated method stub
}
};
actionBar.addTab(actionBar.newTab().setText("Event Feed")
.setIcon(R.drawable.ic_action_alarms)
.setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Wide")
.setIcon(R.drawable.ic_action_Wide)
.setTabListener(tabListener));
actionBar.addTab(actionBar.newTab().setText("Report")
.setIcon(R.drawable.ic_action_location_found)
.setTabListener(tabListener));
} catch (Exception e) {
Log.getStackTraceString(e.getCause().getCause());
}
}
MainActivity.Java
의 기능 : 나는 MainActivity 클래스에서이 함수에 클래스의 호출을하고 때
그러나 그는 java.lang.NullPointerException
을 thwroing
LogCat
창이 표시됩니다.
09-29 15:21:09.217: E/AndroidRuntime(2549): FATAL EXCEPTION: main
09-29 15:21:09.217: E/AndroidRuntime(2549): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.helloworld.projectone/com.helloworld.projectone.ClassWide}: java.lang.NullPointerException
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.app.ActivityThread.access$600(ActivityThread.java:141)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.os.Handler.dispatchMessage(Handler.java:99)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.os.Looper.loop(Looper.java:137)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.app.ActivityThread.main(ActivityThread.java:5103)
09-29 15:21:09.217: E/AndroidRuntime(2549): at java.lang.reflect.Method.invokeNative(Native Method)
09-29 15:21:09.217: E/AndroidRuntime(2549): at java.lang.reflect.Method.invoke(Method.java:525)
09-29 15:21:09.217: E/AndroidRuntime(2549): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-29 15:21:09.217: E/AndroidRuntime(2549): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-29 15:21:09.217: E/AndroidRuntime(2549): at dalvik.system.NativeStart.main(Native Method)
09-29 15:21:09.217: E/AndroidRuntime(2549): Caused by: java.lang.NullPointerException
09-29 15:21:09.217: E/AndroidRuntime(2549): at com.helloworld.projectone.MainActivity.initiateMenuTabs(MainActivity.java:79)
09-29 15:21:09.217: E/AndroidRuntime(2549): at com.helloworld.projectone.ClassWide.onCreate(ClassWide.java:21)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.app.Activity.performCreate(Activity.java:5133)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
09-29 15:21:09.217: E/AndroidRuntime(2549): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
09-29 15:21:09.217: E/AndroidRuntime(2549): ... 11 more
예외 보고서는 무엇입니까 호출해야 다른 활동에 BaseActivity을 확장? 그 질문을 편집하십시오. – tbodt
어떻게 예외 보고서를받을 수 있습니까? logCat 출력을 의미합니까? – Maven
가 추가되었습니다. 지금 plz을 확인하십시오. – Maven