setText到EditText时发生NullPointerException-onDateSet

ElaGorilaki

我有一个editText,当用户单击它时,将显示一个日期对话框,并且在设置日期后,该日期应出现在editText字段中。尽管很简单,但是我找不到为什么会出现nullPointer异常。我尝试了几种方法并更改了很多代码,但是没有任何效果。这是我的代码的概念之一:

开始课程:

public class Start extends FragmentActivity {

int year;
int month;
int day;

static final int DATE_DIALOG_ID = 999;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_start);
    EditText editText = (EditText) findViewById(R.id.etDepDate);
    editText.setText("date");

}

public void showDatePickerDialog(View v) {
    DialogFragment newFragment = new DatePick();
    newFragment.show(getFragmentManager(), "datepicker");

}

}

DatePick类:

 public class DatePick extends DialogFragment implements
    DatePickerDialog.OnDateSetListener {
EditText editText;

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    // Use the current date as the default date in the picker
    final Calendar c = Calendar.getInstance();
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH);
    int day = c.get(Calendar.DAY_OF_MONTH);

    // Create a new instance of DatePickerDialog and return it
    return new DatePickerDialog(getActivity(), this, year, month, day);
}

public void onDateSet(DatePicker view, int year, int month, int day) {
    // Do something with the date chosen by the user
    editText = (EditText) view.findViewById(R.id.etDepDate);
    editText.setText(day + "/" + month + "/" + year);
}

@Override
public void show(FragmentManager manager, String tag) {
    // TODO Auto-generated method stub
    super.show(manager, tag);
}
}

也是XML:

 <EditText
     android:id="@+id/etDepDate"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:ems="10"
    android:focusable="false"
    android:hint="@string/dhint"
    android:inputType="date"
    android:onClick="showDatePickerDialog" >

    <requestFocus />
</EditText>

我已经用另一种方法使它工作了,但是已经过时了,我不想使用它。DialogFragments似乎是正确的方法。

编辑:

 11-14 20:38:06.368: E/AndroidRuntime(31557): FATAL EXCEPTION: main
 11-14 20:38:06.368: E/AndroidRuntime(31557): java.lang.NullPointerException
11-14 20:38:06.368: E/AndroidRuntime(31557):    at        com.xxx.mytrips.DatePick.onDateSet(DatePick.java:36)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at     android.app.DatePickerDialog.tryNotifyDateSet(DatePickerDialog.java:148)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at android.app.DatePickerDialog.onClick(DatePickerDialog.java:116)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at android.os.Looper.loop(Looper.java:137)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at android.app.ActivityThread.main(ActivityThread.java:5041)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at java.lang.reflect.Method.invokeNative(Native Method)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at java.lang.reflect.Method.invoke(Method.java:511)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
11-14 20:38:06.368: E/AndroidRuntime(31557):    at dalvik.system.NativeStart.main(Native Method)
Wang

这是因为您正在使用editText = (EditText) view.findViewById(R.id.etDepDate);在这种情况下,因为editText不是DatePicker视图的子级,所以findViewById返回null。

如果editText是活动内容视图的一部分,则可以使用以下命令:

editText = (EditText) getActivity().findViewById(R.id.etDepDate);

顺便说一句,这并不是真正的好习惯。最好将一个外部OnDateSetListener传递给该片段。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

NullPointerException在OnDateSet,从Datepicker对话框中选取日期

来自分类Dev

onDateSet不会将日期动态放入列表视图中的EditText中

来自分类Dev

DatePickerDialog 无法进入 onDateSet

来自分类Dev

DataPickerDialog,其他片段中的ondateset

来自分类Dev

使用EditText时发生NullPointerException

来自分类Dev

使用EditText时发生NullPointerException

来自分类Dev

SetText的EditText NullPointerException

来自分类Dev

使用KeyListener来使用setText时发生NullPointerException

来自分类Dev

尝试在Text对象上使用.setText时发生NullPointerException

来自分类Dev

如何将值从Button.setOnClickListener传递给Android onDateSet

来自分类Dev

将数据插入到Java db中时发生NullPointerException

来自分类Dev

创建对象时发生NullPointerException

来自分类Dev

获取图像时发生NullPointerException

来自分类Dev

调用GetText()时发生NullPointerException

来自分类Dev

使用CustomListAdapter时发生NullPointerException

来自分类Dev

建立SessionFactory时发生NullPointerException

来自分类Dev

使用Parse时发生NullPointerException

来自分类Dev

创建onClickListener时发生NullPointerException

来自分类Dev

返回new []时发生NullPointerException

来自分类Dev

使用ListView时发生NullPointerException

来自分类Dev

调用GetText()时发生NullPointerException

来自分类Dev

选择textview时发生NullPointerException

来自分类Dev

写入RandomAccessFile时发生NullPointerException

来自分类Dev

建立SessionFactory时发生NullPointerException

来自分类Dev

调用getDefaultSharedPreference时发生NullPointerException

来自分类Dev

执行ExecutorService时发生NullPointerException

来自分类Dev

创建onClickListener时发生NullPointerException

来自分类Dev

使用jruby时发生NullPointerException

来自分类Dev

创建JSONArray时发生NullPointerException

Related 相关文章

  1. 1

    NullPointerException在OnDateSet,从Datepicker对话框中选取日期

  2. 2

    onDateSet不会将日期动态放入列表视图中的EditText中

  3. 3

    DatePickerDialog 无法进入 onDateSet

  4. 4

    DataPickerDialog,其他片段中的ondateset

  5. 5

    使用EditText时发生NullPointerException

  6. 6

    使用EditText时发生NullPointerException

  7. 7

    SetText的EditText NullPointerException

  8. 8

    使用KeyListener来使用setText时发生NullPointerException

  9. 9

    尝试在Text对象上使用.setText时发生NullPointerException

  10. 10

    如何将值从Button.setOnClickListener传递给Android onDateSet

  11. 11

    将数据插入到Java db中时发生NullPointerException

  12. 12

    创建对象时发生NullPointerException

  13. 13

    获取图像时发生NullPointerException

  14. 14

    调用GetText()时发生NullPointerException

  15. 15

    使用CustomListAdapter时发生NullPointerException

  16. 16

    建立SessionFactory时发生NullPointerException

  17. 17

    使用Parse时发生NullPointerException

  18. 18

    创建onClickListener时发生NullPointerException

  19. 19

    返回new []时发生NullPointerException

  20. 20

    使用ListView时发生NullPointerException

  21. 21

    调用GetText()时发生NullPointerException

  22. 22

    选择textview时发生NullPointerException

  23. 23

    写入RandomAccessFile时发生NullPointerException

  24. 24

    建立SessionFactory时发生NullPointerException

  25. 25

    调用getDefaultSharedPreference时发生NullPointerException

  26. 26

    执行ExecutorService时发生NullPointerException

  27. 27

    创建onClickListener时发生NullPointerException

  28. 28

    使用jruby时发生NullPointerException

  29. 29

    创建JSONArray时发生NullPointerException

热门标签

归档