Java 在我正在开发的应用程序中获取NullPointerException

Java 在我正在开发的应用程序中获取NullPointerException,java,android,android-intent,nullpointerexception,Java,Android,Android Intent,Nullpointerexception,我的应用程序中出现了NullPointerException。我已经做了一天了 这里是错误 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.sourcey.materialloginexample, PID: 29568 java.lang.NullPointerException: Attempt to invoke virtual method 'android.

我的应用程序中出现了
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;
    }
}

假设您使用的是ButterKnife,请在视图膨胀后的
onCreateView()
中插入以下内容:

ButterKnife.bind(this, v);
另请参见:

根据您应该拥有的onCreateView

ButterKnife.bind(this, view);

我注意到@Bind的用法-你在用ButterKnife吗?我怀疑您没有调用您正在使用的任何绑定库的
init
方法。或者您的
EditText
布局中没有一个
?我注意到了。@connected_用户可能是骑士的应用:)