2017-10-26 14 views
-3

私は何が間違っているのか分かりません。ここでエラーが発生しました:nullオブジェクト参照で仮想メソッドを呼び出そうとしました

java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at si.skorajporocena.skorajporocena.PrvaPrijavaActivity$1.onClick(PrvaPrijavaActivity.java:51)

コードです:ビューR.id.etPasswordはあなたのレイアウトに存在していることを

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(); 
       } 
      } 
     }); 
+0

あなたのEditText referanceは、それは間違いだ、それは「etPassword」 – himel

+0

内のすべてのあなたのIDを確認nullです。しかし、同じエラーがまだ残っています。 –

+0

himelを設定し、なぜXML – Fisheroid

答えて

-1

チェック。

+0

レイアウトに存在します。 – Fisheroid

-1

pass変数がnullです。最も可能性が高い原因は、レイアウトエラーです。R.id.etPassword

+0

レイアウトはすべて問題ありません。 – Fisheroid

-1

私はこの問題を解決しました。 問題はpass = (EditText) findViewById(R.id.etPassword);が変数passが必要な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); 
        } 
       } 
-1

私はあなたが他の.xmlファイルから 'etPassword' IDを使用していると思います。 Thats wayコードは正常にコンパイルされましたが、浮動ボタンnullポインタ例外が発生したときに実行されました。

関連する問題

 関連する問題