私のアプリに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;
}
}
を持っている必要があり、私は@Bindの使用を注意してください - あなたはButterKnifeを使用していますか?あなたが使用しているバインディングライブラリの 'init'メソッドを呼び出していないと思います。 –
レイアウトに 'EditText's'の1つがありません – xAqweRx
" Sir Name "ではなく" Surname "を意味しますか?ただ私が気付いた何か。 –