我和我的同学正在开发一个食谱应用程序,但我们遇到了错误。我们不能带着意图开始第二个活动。有什么建议么 ?
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.loginpage">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="Foodly"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".RecipeList"
android:label="@string/title_activity_recipes_list"
android:theme="@style/AppTheme.NoActionBar"></activity>
<activity android:name=".WelcomeActivity" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Java 代码活动 1
public class MainActivity extends AppCompatActivity {
private EditText name;
private EditText passwd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onButtonClick(View v) {
name = (EditText)findViewById(R.id.editText2);
passwd = (EditText)findViewById(R.id.editText1);
String wrong = "Wrong Credentials";
String userinput = name.getText().toString();
String userinput2 = passwd.getText().toString();
//boolean t = LoginManager.isKnownUser(userinput,userinput2);
if (LoginManager.isKnownUser(userinput, userinput2)) {
Intent intent = new Intent(this, WelcomeActivity.class);
startActivity(intent);
} else {
Toast.makeText(getApplicationContext(), wrong, Toast.LENGTH_LONG).show();
}
}
}
登录管理器
package com.example.loginpage;
public class LoginManager {
public static boolean isKnownUser(String name, String passwd) {
if (name.equals("Otoi") && passwd.equals("1234")) {
return true;
} else {
return false;
}
}
}
E / AndroidRuntime:致命异常:主进程:com.example.loginpage,PID:3091 java.lang.RuntimeException:无法实例化活动ComponentInfo { com.example.loginpage / com.example.loginpage.WelcomeActivity }:java.lang。 NullPointerException:尝试在 android.app.ActivityThread 的 android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2843) 的空对象引用上调用虚拟方法“java.lang.String android.content.Context.getPackageName()”。 handleLaunchActivity(ActivityThread.java: 3048) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java: 78) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java: 108) 在 android.app.servertransaction.TransactionExecutor .execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1808) 在 android.os.Handler.dispatchMessage(Handler.java: 106) 在 android.os.Looper.loop(Looper.java: 193) 在android.app.ActivityThread.main(ActivityThread.java: 6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java: 493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 858) 原因:java.lang.NullPointerException:尝试调用虚拟方法'java.lang.String android.content.Context.getPackageName()'在 android.content.ComponentName.<init(ComponentName.java:130) 在 android.content.Intent.<init(Intent.java:6082) 的 android.content.ContextWrapper.getPackageName(ContextWrapper.java:142) 处的空对象引用在 com.example.loginpage.WelcomeActivity.< init(WelcomeActivity.java: 10) at java.lang.Class.newInstance(Native Method) at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java: 69) at android.support.v4.app.CoreComponentFactory .instantiateActivity(CoreComponentFactory.java: 43) 在 android.app.Instrumentation.newActivity(Instrumentation.java: 1215) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2831) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.爪哇:3048)Instrumentation.newActivity(Instrumentation.java: 1215) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2831) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 3048)Instrumentation.newActivity(Instrumentation.java: 1215) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2831) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 3048)
在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java: 78)
在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java: 108)
在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java: 68)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1808) 在 android.os.Handler.dispatchMessage(Handler.java: 106) 在 android.os.Looper.loop(Looper.java: 193) 在 android。 app.ActivityThread.main(ActivityThread.java: 6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java: 493)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 858)