2017-01-17 4 views
-1

私のアプリにNullPointerExceptionが届いています。今は一日それをしています。ここで開発中のアプリでNullPointerExceptionを取得する

E/AndroidRuntime: FATAL EXCEPTION: main 
        Process: com.sourcey.materialloginexample, PID: 29568 
        java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference 
        at com.sourcey.materiallogindemo.RedeemFragment$1.onClick(RedeemFragment.java:50) 

ここでコードがあり、誤りである、

public class RedeemFragment extends Fragment { 

    //DatePicker picker; 
    //Button displayDate; 
    //TextView textview1; 
    @Bind(R.id.editText1) 
    EditText _sirText; 
    @Bind(R.id.editText2) 
    EditText _FirstText; 
    @Bind(R.id.editText3) 
    EditText _MidText; 
    @Bind(R.id.editText4) 
    EditText _LastText; 
    @Bind(R.id.btn1) 
    Button _detailsButton; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.profile, container, false); 


     Button b1 = (Button)v.findViewById(R.id.btn1); 

     b1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Intent intent = new Intent(getActivity(),SendInfo.class); 
       intent.putExtra("sname", _sirText.getText().toString()); 
       intent.putExtra("fname", _FirstText.getText().toString()); 
       intent.putExtra("mname", _MidText.getText().toString()); 
       intent.putExtra("lname", _LastText.getText().toString()); 
       startActivity(intent); 

       details(); 
      } 
     }); 

     return v; 
     /*textview1=(TextView)findViewById(R.id.textView1); 
     picker=(DatePicker)findViewById(R.id.datePicker); 
     displayDate=(Button)findViewById(R.id.pickDate); 

     textview1.setText(getCurrentDate()); 

     displayDate.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View view) { 
       textview1.setText(getCurrentDate()); 
      } 

     });*/ 
    } 
    /*public String getCurrentDate(){ 
     StringBuilder builder=new StringBuilder(); 
     builder.append("Current Date: "); 
     builder.append((picker.getMonth() + 1)+"/");//month is 0 based 
     builder.append(picker.getDayOfMonth()+"/"); 
     builder.append(picker.getYear()); 
     return builder.toString(); 
    }*/ 


    public void details() { 

     if (!validate()) { 
      onDetailIncorrect(); 
      return; 
     } 

     _detailsButton.setEnabled(false); 


     new android.os.Handler().postDelayed(
       new Runnable() { 
        public void run() { 
         // On complete call either onLoginSuccess or onLoginFailed 
         onDetailCorrect(); 
         // onLoginFailed(); 
        } 
       }, 3000); 
    } 

    public void onDetailCorrect() { 
     _detailsButton.setEnabled(true); 
     onDestroy(); 
    } 
    public void onDetailIncorrect() { 
     Toast.makeText(getActivity(), "Fill in the blanks appropriately !!", Toast.LENGTH_LONG).show(); 

     _detailsButton.setEnabled(true); 
    } 

    public boolean validate() { 
     boolean valid = true; 

     String sir = _sirText.getText().toString(); 
     String first = _FirstText.getText().toString(); 
     String mid = _MidText.getText().toString(); 
     String last = _LastText.getText().toString(); 

     if (sir.isEmpty()) { 
      _sirText.setError("enter Sir name"); 
      valid = false; 
     } else { 
      _sirText.setError(null); 
     } 

     if (first.isEmpty()) { 
      _FirstText.setError("enter First Name"); 
      valid = false; 
     } else { 
      _FirstText.setError(null); 
     } 
     if (mid.isEmpty()) { 
      _MidText.setError("enter Middle Name"); 
      valid = false; 
     } else { 
      _MidText.setError(null); 
     } 

     if (last.isEmpty()) { 
      _LastText.setError("enter Last Name"); 
      valid = false; 
     } else { 
      _LastText.setError(null); 
     } 

     return valid; 
    } 
} 
+3

を持っている必要があり、私は@Bindの使用を注意してください - あなたはButterKnifeを使用していますか?あなたが使用しているバインディングライブラリの 'init'メソッドを呼び出していないと思います。 –

+0

レイアウトに 'EditText's'の1つがありません – xAqweRx

+0

" Sir Name "ではなく" Surname "を意味しますか?ただ私が気付いた何か。 –

答えて

0

は、あなたは自分の視野が膨張した場合の後、onCreateView()でこれをスティック、ButterKnifeを使用していると仮定すると:

ButterKnife.bind(this, v); 

も参照してください。Documentation

関連する問題