【问题标题】:java.lang.NullPointerException on making my app [duplicate]java.lang.NullPointerException 关于制作我的应用程序 [重复]
【发布时间】:2018-05-07 12:18:56
【问题描述】:

应用程序崩溃,甚至不打开并给出错误 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.view.Window$Callback android.view.Window.getCallback()'

package com.example.andriod.hostelapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        }


    EditText userId = (EditText) findViewById(R.id.user_name);
    EditText userPassword = (EditText) findViewById(R.id.password);

    public void login()
    {
        if (userId.getText().toString().equals("ritwik7101") && 
            userPassword.getText().toString().equals("ritwik123"))

        {
        }
        else{
            Toast.makeText(this, "INCORRECT USERNAME OR PASSWORD!",
                    Toast.LENGTH_LONG).show();
       }
    }
}

【问题讨论】:

  • 崩溃在哪一行?
  • 当我只输入这一行而不输入其他内容时,应用程序不会打开 EditText userId = (EditText) findViewById(R.id.user_name);

标签: java android


【解决方案1】:

您必须将findViewById 调用放在onCreate 方法中并在setContent 调用之后。

【讨论】:

  • 非常感谢
【解决方案2】:

属性在你的类被实例化时被实例化(调用find.. 方法),所以在布局设置之前。因此,您要查找的元素尚不存在。

这是同一个问题,包括一个答案:Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference

【讨论】:

    猜你喜欢
    • 2015-09-07
    • 2018-03-16
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    相关资源
    最近更新 更多