从TimePicker中获取数据,该数据位于片段内的警报内

时间:2014-07-29 08:40:47

标签: java android android-fragments nullpointerexception timepicker

我正在尝试设置一个OnTimeChangedListener来设置位于我的Fragment中的TextView的值(我有一个带有三个选项卡的操作栏),我在我的MainActivity中设置了OnTimeChangedListener,如下所示:

private OnTimeChangedListener OnTimeChangedListener = new OnTimeChangedListener() {

    @Override
        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
            time.setText(getSelectedTime(view));
    }
};

这是方法getSelectedTime();

public String getSelectedTime(TimePicker t) {

    String time = t.getCurrentHour() + " : " + t.getCurrentMinute();
    return time;
}

就像我说的那样,TimePicker位于一个Alert中,当按下按钮时,会在与TextView相同的片段中弹出警告,这里是代码:

    public void showTimePicker(Button but) {

        final Dialog dialog = new Dialog(this);
        final TimePicker t;

        dialog.setContentView(R.layout.alert_time);
        dialog.setTitle("Heure");

        Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);

        dialogButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        t = (TimePicker) findViewById(R.id.time_cri);

         /* findViewById() return NULL here !! */

        t.setOnTimeChangedListener(OnTimeChangedListener);
        dialog.show();
    }

此时我有一个nullPointerException(上面方法中的findViewById())。我尝试了不同的方法让这个工作,但我一无所获!如果有人知道这个问题的解决方案,这将是我的一天!!! 感谢您阅读本文!

0 个答案:

没有答案