0

我一直在关注这个this tutorial创建日期选择器,但设置edit_text的价值时,我一直有一个NullPointerException,在这里我的代码的某些部分:NullPointerException异常:安卓EDITTEXT

// Update demo edittext when the "OK" button is clicked 
      ((Button) mDateTimeDialogView.findViewById(R.id.SetDateTime)) 
        .setOnClickListener(new OnClickListener() { 
         public void onClick(View v) { 
          mDateTimePicker.clearFocus(); 
          // TODO Auto-generated method stub 
          String result_string = mDateTimePicker.getMonth() 
            + "/" 
            + String.valueOf(mDateTimePicker.getDay()) 
            + "/" 
            + String.valueOf(mDateTimePicker.getYear()) 
            + " " 
            + String.valueOf(mDateTimePicker.getHour()) 
            + ":" 
            + String.valueOf(mDateTimePicker 
              .getMinute()); 

          edit_text.setText(result_string); 
          mDateTimeDialog.dismiss(); 
         } 

这里我声明edit_text:

EditText edit_text ; 

     static final int DATE_DIALOG_ID = 0; 

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

      // final View formView = inflater.inflate(R.layout.mform,container, 
      // false); 

      final LinearLayout formbis = (LinearLayout) rootView 
        .findViewById(R.id.formbis); 

      /* 
      * 
      * **************** 
      */ 
    EditText edit_text = (EditText) rootView.findViewById(R.id.edittext1); 

      .... 

但edit_text的初始化似乎是'未使用'。

所有这些都在一个片段内。

回答

3

您正在初始化您的EditText错误。 edit_text是一个实例变量。

EditText edit_text = (EditText) rootView.findViewById(R.id.edittext1); 

所以它看起来像这样:

从该行中删除的EditText

edit_text = (EditText) rootView.findViewById(R.id.edittext1); 
+0

thaaaaaaaaaaaaaaaaaaaaaaaaaaks it worked ^^ – kyokotsu

1
EditText edit_text = (EditText) rootView.findViewById(R.id.edittext1); 

在这里,你创建了一个局部变量edit_text是的范围内可见onCreateView()方法。您需要初始化实例变量EditText edit_text ;为:

edit_text = (EditText) rootView.findViewById(R.id.edittext1); 

没有初始化它,默认情况下`EditText edit_text ;null参考。

+0

是的,我没注意那^^谢谢 – kyokotsu

相关问题