应用程序假设在启动屏幕后显示主页,但是,在X秒的启动超时后,应用程序崩溃。请帮助,我附上了错误和以下必要的代码。Android应用程序无法启动活动组件信息
错误日志:
01-04 22:48:35.548: E/AndroidRuntime(28912): FATAL EXCEPTION: main
01-04 22:48:35.548: E/AndroidRuntime(28912): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dapoaugury.channelappdemo/com.dapoaugury.channelappdemo.ChannelAppMainActivity}: java.lang.NullPointerException
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.access$700(ActivityThread.java:159)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.os.Handler.dispatchMessage(Handler.java:99)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.os.Looper.loop(Looper.java:137)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.main(ActivityThread.java:5419)
01-04 22:48:35.548: E/AndroidRuntime(28912): at java.lang.reflect.Method.invokeNative(Native Method)
01-04 22:48:35.548: E/AndroidRuntime(28912): at java.lang.reflect.Method.invoke(Method.java:525)
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
01-04 22:48:35.548: E/AndroidRuntime(28912): at dalvik.system.NativeStart.main(Native Method)
01-04 22:48:35.548: E/AndroidRuntime(28912): Caused by: java.lang.NullPointerException
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.dapoaugury.channelappdemo.ChannelAppMainActivity.initializeMenu(ChannelAppMainActivity.java:151)
01-04 22:48:35.548: E/AndroidRuntime(28912): at com.dapoaugury.channelappdemo.ChannelAppMainActivity.onCreate(ChannelAppMainActivity.java:118)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.Activity.performCreate(Activity.java:5372)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
01-04 22:48:35.548: E/AndroidRuntime(28912): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
闪屏代码:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mProgress.setProgress(SPLASH_TIME_OUT);
Intent i = new Intent(ChannelAppSplashActivity.this, ChannelAppMainActivity .class);
startActivity(i);
finish();
}
}, SPLASH_TIME_OUT);
MainActivity代码(从错误日志导出):
public void initializeMenu() {
ChannelAppMenuAdapter mAdapter = new ChannelAppMenuAdapter(this);
// Profile
mAdapter.addHeader("Account");
// Parse FB Profile data
// ChannelAppFBDataParser fbParser = new ChannelAppFBDataParser();
// List<UserProfile> userProfile =
// fbParser.parse(getApplicationContext());
// title = userProfile.get(0).getUserName();
// icon = R.drawable.ic_profile_pic;
// ChannelAppMenuItemModel userItem = new ChannelAppMenuItemModel(title,
// icon);
// mAdapter.addItem(userItem);
//Case 1:
title = getIntent().getExtras().getString("name");
icon = R.drawable.ic_profile_pic;
ChannelAppMenuItemModel userItem = new ChannelAppMenuItemModel(title,
icon);
mAdapter.add(userItem);
//Case 2:
/*title = "Settings";
icon = R.drawable.ic_settings;
mAdapter.addItem(title, icon);*/
//Case 2:
if (isLogin){
title = "Logout";
}
else{
title = "Login";
}
icon = R.drawable.google_icon;
mAdapter.addItem(title, icon);
// Channels
mAdapter.addHeader("Channels");
//Case 4:
title = "Exhibition";
icon = R.drawable.icon;
ChannelAppMenuItemModel exhibitItem = new ChannelAppMenuItemModel(
title, icon);
mAdapter.addItem(exhibitItem);
//Case 5:
title = "Galleries";
icon = R.drawable.icon;
ChannelAppMenuItemModel galleryItem = new ChannelAppMenuItemModel(
title, icon);
mAdapter.addItem(galleryItem);
//Case 6:
title = "Artists";
icon = R.drawable.icon;
ChannelAppMenuItemModel otherItem = new ChannelAppMenuItemModel(title,
icon);
mAdapter.addItem(otherItem);
mAdapter.addHeader("Products");
//Case 8:
title = "Search";
icon = R.drawable.ic_action_search;
ChannelAppMenuItemModel searchItem = new ChannelAppMenuItemModel(title,
icon);
mAdapter.addItem(searchItem);
mDrawerList = (ListView) findViewById(R.id.drawer);
if (mDrawerList != null)
mDrawerList.setAdapter(mAdapter);
mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
}
你在initializeMenu(),第151行,ChannelAppMainActivity.java中有一个NullPointerException。那条线是什么? – 2015-01-04 15:03:47
戈兰,这没什么好玩的。它更有趣,只需要在我这样的答案总猜测 – 2015-01-04 15:04:21