首页 文章

android按钮导致崩溃[重复]

提问于
浏览
-1

这个问题在这里已有答案:

我试图将登录详细信息传递给另一个类,以便它可以用于登录我的MySQL数据库(使用php)但它崩溃给我异常:java.lang.IllegalStateException:无法执行android的方法:onClick

堆栈跟踪:{StackTraceElement [0] @ 5692}

658 10752-10752 / uk.ac.abertay.contactslist E / AndroidRuntime:FATAL EXCEPTION:main进程:uk.ac.abertay.contactslist,PID:10752 java.lang.IllegalStateException:无法执行android的方法:onClick at android . support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293)at android.view.View.performClick(View.java:6294)at android.view.View $ PerformClick.run(View.java:24770)在android.os.Handler.handleCallback(Handler.java:790)在Android.app的android.os.Handler.dispatchMessage(Handler.java:99)android.os.Looper.loop(Looper.java:164) . Activity.Thread.main(ActivityThread.java:6494)位于com.android的com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:438)的java.lang.reflect.Method.invoke(Native Method)中 . internal.os.ZygoteInit.main(ZygoteInit.java:807)引起:java.lang.reflect.Method.invoke的java.lang.reflect.InvocationTargetException(本机方法)android.support.v7.app.AppCompatViewInflater $声明在android.view.Handler.handleCallback的android.view.View $ PerformClick.run(View.java:24770)上的android.view.View.performClick(View.java:6294)上的OnClickListener.onClick(AppCompatViewInflater.java:288) (Handler.java:790)android.app.Handler.dispatchMessage(Handler.java:99)android.app.Looper.loop(Looper.java:164)android.app.ActivityThread.main(ActivityThread.java: 6494)位于com.android.internal.os.ZygoteInit.main的com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:438)的java.lang.reflect.Method.invoke(Native Method)( ZygoteInit.java:807)引起:java.lang.NullPointerException:尝试在空对象引用上调用虚方法'void uk.ac.abertay.contactslist.Login.Logino(uk.ac.abertay.contactslist.LoginDetails)' at uk.ac.abertay.contactslist.LoginActivity.Loginbutton(LoginActivity.java:40)at java.lang.reflect.Method.invoke(Native Method)at android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater . java的:288)在android.view.View.performClick(View.java:6294)android.view.View $ PerformClick.run(View.java:24770)android.os.Handler.handleCallback(Handler.java:790)在android.os.Handler.dispatchMessage(Handler.java:99)的android.app.Looper.loop(Looper.java:164)在android.app.ActivityThread.main(ActivityThread.java:6494)的java.lang上 . 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)的com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:438)中反映.Method.invoke(Native Method) -26 15:39:34.761 1384-3633 /?我/ chatty:uid = 1041(audioserver)作家相同的8行

这是按钮的代码

private Login login;


   public void Loginbutton(View v) {

    /* Get entered fields data. */
    String email = field_email.getText().toString();
    String password = field_password.getText().toString();


         login.Logino(new LoginDetails(email,password));



    }

在调试它时会运行它并返回到按钮,然后它会给出异常并崩溃

public class LoginDetails {

   public String email = "";
   public String password = "";

   LoginDetails(String e, String p) {
       email = e;
       password = p;
   }
}

这是我试图用上面的按钮运行的代码

public void Logino(LoginDetails loginDetails) {
    LoginTask task = new LoginTask();
    task.execute(loginDetails);
}

1 回答

  • 0

    来自StackTrace

    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void uk.ac.abertay.contactslist.Login.Logino(uk.ac.abertay.contactslist.LoginDetails)
    

    对象登录行 login.Logino 为空,您必须初始化它 .

    Obs:请使用Java命名约定,方法名称以小写字母char开头 .

相关问题