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

相關問題