我在android应用程序中点击忘记密码文本视图,从一个活动切换到另一个活动时遇到了问题
我制作了一个Android电子商务应用程序,使用firebase进行身份验证。在登录活动中,我添加了一个textview忘记密码,用户将在其中单击该密码并立即转到重置活动页面。但当我点击textview时,我的应用程序停止工作。我在忘记密码的textview上添加了onclickListener选项,但它仍然不工作。这是我的密码 后勤活动:我在android应用程序中点击忘记密码文本视图,从一个活动切换到另一个活动时遇到了问题,android,firebase,forgot-password,Android,Firebase,Forgot Password,我制作了一个Android电子商务应用程序,使用firebase进行身份验证。在登录活动中,我添加了一个textview忘记密码,用户将在其中单击该密码并立即转到重置活动页面。但当我点击textview时,我的应用程序停止工作。我在忘记密码的textview上添加了onclickListener选项,但它仍然不工作。这是我的密码 后勤活动: forgotPassword = (TextView) findViewById(R.id.forget_password_link); forgotP
forgotPassword = (TextView) findViewById(R.id.forget_password_link);
forgotPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(LoginActivity.this,ResetActivity.class);
startActivity(i);
Toast.makeText(LoginActivity.this,"Go to Reset password",Toast.LENGTH_LONG).show();
}
});
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.registerlogin/com.example.registerlogin.ResetActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.registerlogin.ResetActivity.onCreate(ResetActivity.java:37)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="200dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<EditText
android:id="@+id/login_password_input"
android:layout_width="296dp"
android:layout_height="wrap_content"
android:layout_below="@+id/login_email_input"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="0dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="password"
android:inputType="textPassword"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/linear_layout_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_password_input"
android:orientation="horizontal"
>
<CheckBox
android:id="@+id/remember_me_checkbox"
style="@style/Widget.AppCompat.CompoundButton.CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/linear_layout_1"
android:layout_marginLeft="17dp"
android:gravity="center_vertical"
android:text="Remember me"
android:textColor="@color/colorPrimaryDark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/forget_password_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Forgot Password?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="90dp"
/>
</LinearLayout>
<Button
android:id="@+id/login_btn"
android:layout_width="380dp"
android:layout_height="wrap_content"
android:layout_below="@+id/linear_layout_1"
android:layout_marginLeft="15dp"
android:layout_marginTop="8dp"
android:layout_marginRight="15dp"
android:background="@drawable/buttons"
android:padding="17dp"
android:text="Login"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="15sp" />
<TextView
android:id="@+id/admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/login_btn"
android:text="I am Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="23dp"
/>
<TextView
android:id="@+id/not_admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/login_btn"
android:text="I am not Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="25dp"
android:visibility="invisible"
/>
</RelativeLayout>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reset);
firebaseAuth=FirebaseAuth.getInstance();
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(ResetActivity.this,LoginActivity.class));
}
});
btnResetPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String userEmail=email.getText().toString().trim();
if(TextUtils.isEmpty(userEmail)){
Toast.makeText(ResetActivity.this, "Enter your register email id", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
firebaseAuth.sendPasswordResetEmail(userEmail).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(ResetActivity.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ResetActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
}
progressBar.setVisibility(View.GONE);
}
});
}
});
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:text="@string/lbl_forgot_password"
android:textColor="@color/colorPrimaryDark"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center_horizontal"
android:padding="16dp"
android:text="@string/forgot_password_msg"
android:textColor="@color/colorPrimaryDark"
android:textSize="14dp" />
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<Button
android:id="@+id/btn_reset_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:background="@drawable/buttons"
android:text="@string/btn_reset_password"
android:textColor="@android:color/white" />
<Button
android:id="@+id/btn_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:text="@string/btn_back"
android:textColor="@color/colorPrimaryDark" />
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center|bottom"
android:layout_marginBottom="20dp"
android:visibility="gone" />
</RelativeLayout>
日志猫中的错误消息:
forgotPassword = (TextView) findViewById(R.id.forget_password_link);
forgotPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(LoginActivity.this,ResetActivity.class);
startActivity(i);
Toast.makeText(LoginActivity.this,"Go to Reset password",Toast.LENGTH_LONG).show();
}
});
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.registerlogin/com.example.registerlogin.ResetActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.registerlogin.ResetActivity.onCreate(ResetActivity.java:37)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="200dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<EditText
android:id="@+id/login_password_input"
android:layout_width="296dp"
android:layout_height="wrap_content"
android:layout_below="@+id/login_email_input"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="0dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="password"
android:inputType="textPassword"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/linear_layout_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_password_input"
android:orientation="horizontal"
>
<CheckBox
android:id="@+id/remember_me_checkbox"
style="@style/Widget.AppCompat.CompoundButton.CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/linear_layout_1"
android:layout_marginLeft="17dp"
android:gravity="center_vertical"
android:text="Remember me"
android:textColor="@color/colorPrimaryDark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/forget_password_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Forgot Password?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="90dp"
/>
</LinearLayout>
<Button
android:id="@+id/login_btn"
android:layout_width="380dp"
android:layout_height="wrap_content"
android:layout_below="@+id/linear_layout_1"
android:layout_marginLeft="15dp"
android:layout_marginTop="8dp"
android:layout_marginRight="15dp"
android:background="@drawable/buttons"
android:padding="17dp"
android:text="Login"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="15sp" />
<TextView
android:id="@+id/admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/login_btn"
android:text="I am Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="23dp"
/>
<TextView
android:id="@+id/not_admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/login_btn"
android:text="I am not Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="25dp"
android:visibility="invisible"
/>
</RelativeLayout>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reset);
firebaseAuth=FirebaseAuth.getInstance();
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(ResetActivity.this,LoginActivity.class));
}
});
btnResetPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String userEmail=email.getText().toString().trim();
if(TextUtils.isEmpty(userEmail)){
Toast.makeText(ResetActivity.this, "Enter your register email id", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
firebaseAuth.sendPasswordResetEmail(userEmail).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(ResetActivity.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ResetActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
}
progressBar.setVisibility(View.GONE);
}
});
}
});
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:text="@string/lbl_forgot_password"
android:textColor="@color/colorPrimaryDark"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center_horizontal"
android:padding="16dp"
android:text="@string/forgot_password_msg"
android:textColor="@color/colorPrimaryDark"
android:textSize="14dp" />
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<Button
android:id="@+id/btn_reset_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:background="@drawable/buttons"
android:text="@string/btn_reset_password"
android:textColor="@android:color/white" />
<Button
android:id="@+id/btn_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:text="@string/btn_back"
android:textColor="@color/colorPrimaryDark" />
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center|bottom"
android:layout_marginBottom="20dp"
android:visibility="gone" />
</RelativeLayout>
LoginActivity XML文件:
forgotPassword = (TextView) findViewById(R.id.forget_password_link);
forgotPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(LoginActivity.this,ResetActivity.class);
startActivity(i);
Toast.makeText(LoginActivity.this,"Go to Reset password",Toast.LENGTH_LONG).show();
}
});
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.registerlogin/com.example.registerlogin.ResetActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.registerlogin.ResetActivity.onCreate(ResetActivity.java:37)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="200dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<EditText
android:id="@+id/login_password_input"
android:layout_width="296dp"
android:layout_height="wrap_content"
android:layout_below="@+id/login_email_input"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="0dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="password"
android:inputType="textPassword"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/linear_layout_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_password_input"
android:orientation="horizontal"
>
<CheckBox
android:id="@+id/remember_me_checkbox"
style="@style/Widget.AppCompat.CompoundButton.CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/linear_layout_1"
android:layout_marginLeft="17dp"
android:gravity="center_vertical"
android:text="Remember me"
android:textColor="@color/colorPrimaryDark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/forget_password_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Forgot Password?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="90dp"
/>
</LinearLayout>
<Button
android:id="@+id/login_btn"
android:layout_width="380dp"
android:layout_height="wrap_content"
android:layout_below="@+id/linear_layout_1"
android:layout_marginLeft="15dp"
android:layout_marginTop="8dp"
android:layout_marginRight="15dp"
android:background="@drawable/buttons"
android:padding="17dp"
android:text="Login"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="15sp" />
<TextView
android:id="@+id/admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/login_btn"
android:text="I am Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="23dp"
/>
<TextView
android:id="@+id/not_admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/login_btn"
android:text="I am not Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="25dp"
android:visibility="invisible"
/>
</RelativeLayout>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reset);
firebaseAuth=FirebaseAuth.getInstance();
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(ResetActivity.this,LoginActivity.class));
}
});
btnResetPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String userEmail=email.getText().toString().trim();
if(TextUtils.isEmpty(userEmail)){
Toast.makeText(ResetActivity.this, "Enter your register email id", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
firebaseAuth.sendPasswordResetEmail(userEmail).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(ResetActivity.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ResetActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
}
progressBar.setVisibility(View.GONE);
}
});
}
});
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:text="@string/lbl_forgot_password"
android:textColor="@color/colorPrimaryDark"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center_horizontal"
android:padding="16dp"
android:text="@string/forgot_password_msg"
android:textColor="@color/colorPrimaryDark"
android:textSize="14dp" />
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<Button
android:id="@+id/btn_reset_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:background="@drawable/buttons"
android:text="@string/btn_reset_password"
android:textColor="@android:color/white" />
<Button
android:id="@+id/btn_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:text="@string/btn_back"
android:textColor="@color/colorPrimaryDark" />
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center|bottom"
android:layout_marginBottom="20dp"
android:visibility="gone" />
</RelativeLayout>
重置活动OnCreate():
forgotPassword = (TextView) findViewById(R.id.forget_password_link);
forgotPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(LoginActivity.this,ResetActivity.class);
startActivity(i);
Toast.makeText(LoginActivity.this,"Go to Reset password",Toast.LENGTH_LONG).show();
}
});
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.registerlogin/com.example.registerlogin.ResetActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.registerlogin.ResetActivity.onCreate(ResetActivity.java:37)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="200dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<EditText
android:id="@+id/login_password_input"
android:layout_width="296dp"
android:layout_height="wrap_content"
android:layout_below="@+id/login_email_input"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="0dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="password"
android:inputType="textPassword"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/linear_layout_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_password_input"
android:orientation="horizontal"
>
<CheckBox
android:id="@+id/remember_me_checkbox"
style="@style/Widget.AppCompat.CompoundButton.CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/linear_layout_1"
android:layout_marginLeft="17dp"
android:gravity="center_vertical"
android:text="Remember me"
android:textColor="@color/colorPrimaryDark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/forget_password_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Forgot Password?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="90dp"
/>
</LinearLayout>
<Button
android:id="@+id/login_btn"
android:layout_width="380dp"
android:layout_height="wrap_content"
android:layout_below="@+id/linear_layout_1"
android:layout_marginLeft="15dp"
android:layout_marginTop="8dp"
android:layout_marginRight="15dp"
android:background="@drawable/buttons"
android:padding="17dp"
android:text="Login"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="15sp" />
<TextView
android:id="@+id/admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/login_btn"
android:text="I am Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="23dp"
/>
<TextView
android:id="@+id/not_admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/login_btn"
android:text="I am not Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="25dp"
android:visibility="invisible"
/>
</RelativeLayout>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reset);
firebaseAuth=FirebaseAuth.getInstance();
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(ResetActivity.this,LoginActivity.class));
}
});
btnResetPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String userEmail=email.getText().toString().trim();
if(TextUtils.isEmpty(userEmail)){
Toast.makeText(ResetActivity.this, "Enter your register email id", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
firebaseAuth.sendPasswordResetEmail(userEmail).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(ResetActivity.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ResetActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
}
progressBar.setVisibility(View.GONE);
}
});
}
});
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:text="@string/lbl_forgot_password"
android:textColor="@color/colorPrimaryDark"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center_horizontal"
android:padding="16dp"
android:text="@string/forgot_password_msg"
android:textColor="@color/colorPrimaryDark"
android:textSize="14dp" />
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<Button
android:id="@+id/btn_reset_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:background="@drawable/buttons"
android:text="@string/btn_reset_password"
android:textColor="@android:color/white" />
<Button
android:id="@+id/btn_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:text="@string/btn_back"
android:textColor="@color/colorPrimaryDark" />
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center|bottom"
android:layout_marginBottom="20dp"
android:visibility="gone" />
</RelativeLayout>
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reset);
firebaseAuth=firebaseAuth.getInstance();
btnBack.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
startActivity(新意图(ResetActivity.this,LoginActivity.class));
}
});
btnResetPassword.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串userEmail=email.getText().toString().trim();
if(TextUtils.isEmpty(userEmail)){
Toast.makeText(ResetActivity.this,“输入您的注册电子邮件id”,Toast.LENGTH_SHORT.show();
返回;
}
progressBar.setVisibility(View.VISIBLE);
firebaseAuth.sendPasswordResetEmail(userEmail).addOnCompleteListener(新OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Toast.makeText(ResetActivity.this,“我们已向您发送重置密码的说明!”,Toast.LENGTH\u SHORT.show();
}否则{
Toast.makeText(ResetActivity.this,“发送重置电子邮件失败!”,Toast.LENGTH_SHORT.show();
}
progressBar.setVisibility(View.GONE);
}
});
}
});
}
活动\u reset.xml:
forgotPassword = (TextView) findViewById(R.id.forget_password_link);
forgotPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(LoginActivity.this,ResetActivity.class);
startActivity(i);
Toast.makeText(LoginActivity.this,"Go to Reset password",Toast.LENGTH_LONG).show();
}
});
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.registerlogin/com.example.registerlogin.ResetActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.registerlogin.ResetActivity.onCreate(ResetActivity.java:37)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="200dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<EditText
android:id="@+id/login_password_input"
android:layout_width="296dp"
android:layout_height="wrap_content"
android:layout_below="@+id/login_email_input"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="0dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="password"
android:inputType="textPassword"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/linear_layout_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_password_input"
android:orientation="horizontal"
>
<CheckBox
android:id="@+id/remember_me_checkbox"
style="@style/Widget.AppCompat.CompoundButton.CheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/linear_layout_1"
android:layout_marginLeft="17dp"
android:gravity="center_vertical"
android:text="Remember me"
android:textColor="@color/colorPrimaryDark"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/forget_password_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Forgot Password?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="90dp"
/>
</LinearLayout>
<Button
android:id="@+id/login_btn"
android:layout_width="380dp"
android:layout_height="wrap_content"
android:layout_below="@+id/linear_layout_1"
android:layout_marginLeft="15dp"
android:layout_marginTop="8dp"
android:layout_marginRight="15dp"
android:background="@drawable/buttons"
android:padding="17dp"
android:text="Login"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="15sp" />
<TextView
android:id="@+id/admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/login_btn"
android:text="I am Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="23dp"
/>
<TextView
android:id="@+id/not_admin_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/login_btn"
android:text="I am not Admin?"
android:textColor="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginLeft="80dp"
android:layout_marginEnd="25dp"
android:visibility="invisible"
/>
</RelativeLayout>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reset);
firebaseAuth=FirebaseAuth.getInstance();
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(ResetActivity.this,LoginActivity.class));
}
});
btnResetPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String userEmail=email.getText().toString().trim();
if(TextUtils.isEmpty(userEmail)){
Toast.makeText(ResetActivity.this, "Enter your register email id", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
firebaseAuth.sendPasswordResetEmail(userEmail).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(ResetActivity.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ResetActivity.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
}
progressBar.setVisibility(View.GONE);
}
});
}
});
}
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/register"
tools:context=".LoginActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:text="@string/lbl_forgot_password"
android:textColor="@color/colorPrimaryDark"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center_horizontal"
android:padding="16dp"
android:text="@string/forgot_password_msg"
android:textColor="@color/colorPrimaryDark"
android:textSize="14dp" />
<EditText
android:id="@+id/login_email_input"
android:layout_width="295dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:layout_marginRight="15dp"
android:background="@drawable/input_design"
android:hint="email id"
android:inputType="textEmailAddress"
android:padding="20dp"
android:textColor="@color/colorPrimaryDark"
android:textColorHint="@color/colorPrimaryDark"
android:textSize="17sp"
android:textStyle="bold" />
<Button
android:id="@+id/btn_reset_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:background="@drawable/buttons"
android:text="@string/btn_reset_password"
android:textColor="@android:color/white" />
<Button
android:id="@+id/btn_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:text="@string/btn_back"
android:textColor="@color/colorPrimaryDark" />
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center|bottom"
android:layout_marginBottom="20dp"
android:visibility="gone" />
</RelativeLayout>
但该应用程序停止工作。你能告诉我为什么会这样吗?这个问题的解决方案是什么?看看stacktrace,它指向
com.example.registerlogin.ResetActivity.onCreate
,因此发布的代码运行良好,并打开了ResetActivity
,其中有一些错误(确切地说是第37行)
由于问题编辑:
您正在尝试
btnBack.setOnClickListener
,但上面没有findViewById
,因此此视图
为null
(也btnResetPassword
)这可能是由于几个原因造成的。有时它也可能是ResetActivity.class中的异常。因此,请使用logcat错误消息更新您的问题。添加logcat和loginActivity xml我还添加了logcat消息和xml代码。您能否共享ResetActivity onCreate方法和ResetActivity xml文件?