Java 我得到错误:尝试调用虚拟方法。。关于空对象引用
我不知道我做错了什么 java.lang.NullPointerException:尝试调用虚拟方法 空值上的“android.text.Editable android.widget.EditText.getText” 对象引用 在 skorajporocena.skorajporocena.PrvaPrijavaActivity$1.onClickPrvaPrijavaActivity.java:51 代码如下: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
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文件中。它是否存在于布局中。布局中一切正常。