片段中的 EditText 上的空指针异常 [重复]
Posted
技术标签:
【中文标题】片段中的 EditText 上的空指针异常 [重复]【英文标题】:Null Pointer Exception on an EditText in a Fragment [duplicate] 【发布时间】:2020-05-08 12:04:13 【问题描述】:我正在构建一个注册页面,我想要一个日期选择器,但每当我点击用户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);
【问题讨论】:
请显示 logcat 错误。 java.lang.NullPointerException:尝试在 com.example.navigationdrawer 的空对象引用上调用虚拟方法“void android.widget.TextView.setOnClickListener(android.view.View$OnClickListener)”。 UserFragment.onCreateView(UserFragment.java:60) 【参考方案1】:您的 id 为 etdate 的 editText 实际上在布局 adduser_fragment 中?这个错误可能是因为视图在另一个布局中(你忘记了)。抱歉回答,我没有足够的声誉发表评论。
【讨论】:
是的,它在 adduser_fragment.xml 中。我给 EditText 提供了 etdate id。findViewById
没有找到您的 EditText
对象。堆栈跟踪(如果将其添加到帖子中会更好看;评论格式有限)清楚地表明您正在对 null
对象调用 setOnClickListener
,在您的情况下是 et_Date
。如果您发帖 adduser_fragment.xml
会很有帮助。以上是关于片段中的 EditText 上的空指针异常 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
用于登录Android Studio的实时firebase数据库上的空指针异常[重复]