Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我得到错误:尝试调用虚拟方法。。关于空对象引用_Java_Android_Nullpointerexception - Fatal编程技术网

Java 我得到错误:尝试调用虚拟方法。。关于空对象引用

Java 我得到错误:尝试调用虚拟方法。。关于空对象引用,java,android,nullpointerexception,Java,Android,Nullpointerexception,我不知道我做错了什么 java.lang.NullPointerException:尝试调用虚拟方法 空值上的“android.text.Editable android.widget.EditText.getText” 对象引用 在 skorajporocena.skorajporocena.PrvaPrijavaActivity$1.onClickPrvaPrijavaActivity.java:51 代码如下: EditText pass; @Override prot

我不知道我做错了什么

java.lang.NullPointerException:尝试调用虚拟方法 空值上的“android.text.Editable android.widget.EditText.getText” 对象引用 在 skorajporocena.skorajporocena.PrvaPrijavaActivity$1.onClickPrvaPrijavaActivity.java:51

代码如下:

EditText pass;


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

        pass = (EditText) findViewById(R.id.etPassword);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.floatingActionButton);
        viewPager = (ViewPager) this.findViewById(R.id.pager);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(i==0){
                    if (pass.getText().toString().isEmpty()) { // <-- this is the 51 line
                        Snackbar.make(view, "Niste vnesli aktivacijske kode.", Snackbar.LENGTH_SHORT).
                                setAction("Action", null).show();
                    }
                    else {
                        i=1;
                        viewPager.setCurrentItem(i);
                    }
                }
                else if(i>0) {
                    i++;
                    viewPager.setCurrentItem(i);

                    if(i==3){
                        Intent intent;
                        intent = new Intent(getApplicationContext(),MainActivity.class);
                        startActivity(intent);
                        finish();
                    }
                    //Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    //        .setAction("Action", null).show();
                }
            }
        });

检查视图R.id.etPassword是否存在于布局中。

pass变量为空。最有可能的原因是R.id.etPassword的布局错误。我已解决该问题。 问题是pass=EditText findviewbydr.id.etPassword;在if语句之外,我需要变量传递

下面是代码现在的样子:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.floatingActionButton);
        viewPager = (ViewPager) this.findViewById(R.id.pager);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(i==0){
                    pass = (EditText) findViewById(R.id.etPassword);
                    if (pass.getText().toString().isEmpty()) { // <-- this is the 51 line
                        Snackbar.make(view, "Niste vnesli aktivacijske kode.", Snackbar.LENGTH_SHORT).
                                setAction("Action", null).show();
                    }
                    else {
                        i=1;
                        viewPager.setCurrentItem(i);
                    }
                }

我认为您正在使用其他.xml文件中的id“etPassword”。这就是代码成功编译的方式,但在运行时单击浮动按钮时出现空指针异常。

您的EditText引用为空检查XML中的所有ID为什么设置了多个。对于字符串HIMEL,这与上面etPasswordIntelliJ Amiya中的代码相同,这是错误的。但同样的错误仍然存在。请检查您的Edittext id是否存在于布局xml文件中。它是否存在于布局中。布局中一切正常。