在按钮保存中,我的应用程序崩溃了。
请帮我解决这个问题。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_info);
ref = FirebaseDatabase.getInstance().getReference().child("Member");
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
member.setUserName(name1.getText().toString().trim());
member.setFirstName(name2.getText().toString().trim());
member.setLastName(name3.getText().toString().trim());
member.setEmail(name4.getText().toString().trim());
ref.push().setValue("member");
Toast.makeText(LoginInfo.this,"data Inserted Sucessfully",Toast.LENGTH_LONG).show();
}
});
记录错误
E / Android运行时:致命异常:主要 流程:com.example.firebasesign,PID:20460 java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.firebasesign / com.example.firebasesign.LoginInfo}:java.lang.NullPointerException:尝试调用虚拟方法'void android.view.View.setOnClickListener(android。 view.View $ OnClickListener)'上的空对象引用 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724) 在android.app.ActivityThread.-wrap12(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1473) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:154) 在android.app.ActivityThread.main(ActivityThread.java:6123) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:867) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.view.View.setOnClickListener(android.view.View $ OnClickListener)' 在com.example.firebasesign.LoginInfo.onCreate(LoginInfo.java:34) 在android.app.Activity.performCreate(Activity.java:6672) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1140) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2612) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724) 在android.app.ActivityThread.-wrap12(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1473) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:154) 在android.app.ActivityThread.main(ActivityThread.java:6123) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:867) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
答案 0 :(得分:0)
根据您的日志,var verifyError = socket._handle.verifyError();
对象为空。在尝试设置setOnClickListener()之前,您需要通过调用findViewById获得对该对象的引用。
btnSave
其中yourButtonId是您在xml项目上设置的ID
btnSave = findViewById(R.id.yourButtonId)
如果您使用的是黄油刀,请不要忘记添加
<Button
android:id="@+id/yourButtonId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
到您的onCreate()方法