我有2个活动
我想验证用户是否已登录,否则在MainActivity出现之前显示我的LoginActivity。
当我把它放在MainActivity的OnCreateView中时,我有一个错误:
if(Login.isLogged()){
selectItem(0);//starts the fragment
}
else {
Intent i = new Intent(MainActivity.this, LoginActivity.class);
startActivity(i);
}
致命异常:MAIN java.lang.RuntimeException:无法启动活动ComponentInfo {..... MainActivity}:java.lang.NullPointerException
Ps:我的MainActivity是一个SherlockFragmentActivity。我正在使用DrawerLayout。
如何在SherlockFragmentActivity之前启动我的LoginActivity? 感谢
答案 0 :(得分:1)
如果我是你,我会将LoginActiviy作为启动器活动。在那里我会检查用户是否已经登录,如果他已经开始新的活动..这样的事情:
//in onCreate of LoginActivity
if (hasLogedIn) {
Intent i = new Intent(LoginActivity.this, MainActivity.class);
startActivity(i);
finish();
} else {
// show him login activity, setContentView etc...
// save hasLogin boolean as true
}
答案 1 :(得分:1)
在AndroidManifest文件中进行此更改
<activity
android:name="com.example.alphabets.LoginActivity"
android:label="@string/title_activity_login"
android:windowSoftInputMode="adjustResize|stateVisible" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.alphabets.MainActivity"
android:label="@string/app_name" >
</activity>
答案 2 :(得分:0)
将登录活动设为您的默认活动。检查登录状态。如果用户已登录,请调用主活动并完成()登录活动。否则,等待用户输入