Java 片段中EditText上的空指针异常
我正在构建一个注册页面,其中需要一个日期选择器,但每当我单击UserJava 片段中EditText上的空指针异常,java,android,android-fragments,nullpointerexception,Java,Android,Android Fragments,Nullpointerexception,我正在构建一个注册页面,其中需要一个日期选择器,但每当我单击UserFragment打开注册页面时,应用程序就会崩溃,错误是EditText中的nullPointerException。请帮我解决它 下面是UserFragment.java的代码 public class UserFragment extends Fragment { public EditText et_Date; public static final int REQUEST_CODE = 11; String select
Fragment
打开注册页面时,应用程序就会崩溃,错误是EditText
中的nullPointerException
。请帮我解决它
下面是UserFragment.java的代码
public class UserFragment extends Fragment {
public EditText et_Date;
public static final int REQUEST_CODE = 11;
String selectedDate;
private OnFragmentInteractionListener mListener;
public DatePickerDialog.OnDateSetListener setListener;
View view;
public UserFragment() {
}
public static UserFragment newInstance() {
UserFragment fragment = new UserFragment();
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.adduser_fragment, container, false);
et_Date = (EditText) view.findViewById(R.id.etdate);
final FragmentManager fm = ((AppCompatActivity)getActivity()).getSupportFragmentManager();
et_Date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AppCompatDialogFragment newFragment = new DatePickerFragment();
newFragment.setTargetFragment(UserFragment.this,REQUEST_CODE);
newFragment.show(fm, "DatePicker");
}
});
return view;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK){
selectedDate = data.getStringExtra("SelectedDate");
et_Date.setText(selectedDate);
}
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
if(context instanceof OnFragmentInteractionListener){
mListener= (OnFragmentInteractionListener) context;
}else{
throw new RuntimeException(context.toString()+"must implement OnFragmentInterationListener");
}
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
public interface OnFragmentInteractionListener {
public void onFragmentInteraction(Uri uri);
}
}
id为etdate的editText实际上在layout adduser_片段中?此错误可能是因为视图位于另一个布局中(而您忘记了这一点)。很抱歉回答,我没有足够的声誉发表评论。请显示logcat错误。java.lang.NullPointerException:尝试在com.example.navigationdrawer.UserFragment.onCreateView上的空对象引用上调用虚拟方法“void android.widget.TextView.setOnClickListener(android.view.view$OnClickListener)”(UserFragment.java:60)是的,它在adduser_fragment.xml中。我给EditText提供了etdate id。findViewById
没有找到您的EditText
对象。堆栈跟踪(如果将其添加到帖子中,看起来会更好;注释格式有限)明确地说,您正在对null
对象调用setOnClickListener
,在您的例子中,该对象是et\u Date
。如果您发布adduser\u fragment.xml
,将会很有帮助。