当你点击btnChangePass,我得到错误。
我有一个错误:
FATAL EXCEPTION:主进程:com.company.learn2,PID:18854java.lang.NullPointerExcture atcom.company.learn2。Heslo.change密码(Heslo.java:84)在com.company.learn2。Heslo.on点击(Heslo.java:69)android.view.View.perform点击(View.java:4506)android.view.View$PerformClick.run(View.java:18848)at<--PLHD--14/>Handler.handle回调(Handler.java:808)在android.os.Handler.dispatch消息(Handler.java:103)在android. os.在android. app.ActivityThread. main(ActivityThread. java: 5341)在java. lang.反射。方法。方法调用(方法. java: 515)在com. android. interal. os。ZygoteInit$method odAndArgsCaller. run(ZygoteInit. java: 829)在com. android. interal. os。在dalvik. system上的ZygoteInit. main(ZygoteInit. java: 645)。NativeStart. main(本机方法)
我的活动:
public class Heslo extends AppCompatActivity implements View.OnClickListener {
private EditText input_new_password;
private Button btnChangePass;
private Button btnLogout;
private FirebaseAuth auth;
private ImageButton imageButton;
private RelativeLayout mIdLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_heslo);
input_new_password = (EditText)findViewById(R.id.dashboard_new_password);
btnChangePass = (Button)findViewById(R.id.dashboard_btn_change_pass);
imageButton = (ImageButton) findViewById(R.id.action_back);
btnLogout = (Button) findViewById(R.id.dashboard_btn_logout);
mIdLayout = (RelativeLayout) findViewById(R.id.idLayout);
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Heslo.this, MainActivity.class);
startActivity(intent);
}
});
btnChangePass.setOnClickListener(this);
btnLogout.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if(view.getId() == R.id.dashboard_btn_change_pass)
changePassword(input_new_password.getText().toString());
else if(view.getId() == R.id.dashboard_btn_logout)
logoutUser();
}
private void logoutUser() {
auth.signOut();
if(auth.getCurrentUser() == null)
{
startActivity(new Intent(Heslo.this,Login.class));
finish();
}
}
private void changePassword(String newPassword) {
FirebaseUser user = auth.getCurrentUser();
user.updatePassword(newPassword).addOnCompleteListener(Heslo.this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful())
{
Snackbar snackBar = Snackbar.make(mIdLayout,"Password changed",Snackbar.LENGTH_SHORT);
snackBar.show();
}
}
});
}
}
我的xml:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/idLayout">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/baf"
android:background="@color/colorPrimary"
>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/action_back"
android:background="@color/colorPrimary"
android:layout_gravity="left"
android:src="@drawable/ic_arrow_back_white"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Heslo"
android:textSize="20dp"
android:layout_marginStart="50dp"
android:textColor="#FFFFFF"/>
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TextInputLayout
android:layout_below="@+id/baf"
android:id="@+id/dashboard_input_new_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<EditText
android:id="@+id/dashboard_new_password"
android:hint="Zadej nové heslo"
android:inputType="textPassword"
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/dashboard_btn_change_pass"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/dashboard_input_new_password"
android:background="#263238"
android:text="Změnit heslo" />
<Button
android:id="@+id/dashboard_btn_logout"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/dashboard_btn_change_pass"
android:background="#263238"
android:text="Odhlásit se"
android:layout_marginTop="50dp"/>
</RelativeLayout>
在前线
用户。updatePassword(新密码)。添加OnCompleteListener(Heslo.this,新的OnCompleteListener
您将获得一个
NullPointerException
,这意味着其中的某个对象为null。
检查user对象,它可以从上面一行中获得:
FirebasUser user=auth.getMONtUser();
。
我猜Firebase正在返回一个空用户。。。
我一直在youtube上学习android的自定义视图等等。在我尝试做一个表面视图(相当简单的描述在这个视频)。 我所做的事情与视频中所显示的几乎是同步的。
问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于
我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db
当我试图从DB查询结果时,我得到一个空指针异常。以下是错误: 这是错误产生的函数。 如果我启动应用程序信息服务(=new ApplicationInfoService()),我会得到一个指向我的服务类的空指针错误,在这里进行查询 错误转到createQuery行,如果我打印出EntityManager,它将返回“null”。为什么我的Entitymanager不能初始化。我在我的登录系统中使用了几
问题内容: 我最近正在学习Java并发编程。我知道关键字可以保证安全的发布。但是,当我阅读源代码时,发现and 字段未使用关键字。我发现该方法在方法中被调用,并且该方法直接将值分配给。此时,可能是因为未使用声明。我的理解正确吗?虽然可以保证读写线程的安全性,但是可以 保证不是一个正确的初始值 问题答案: 根据此博客文章https://shipilev.net/blog/2014/safe-publ