TimePicker가 나타나지만 시간을 선택할 때 나타납니다. 그것은 나에게 예외를 던졌습니다.시간을 설정하는 동안 java.lang.NullPointerException이 발생했습니다.
TimeFragment 클래스. 28 :
import java.util.Calendar;
import com.actionbarsherlock.app.SherlockDialogFragment;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.content.Context;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.widget.TimePicker;
public class TimePickerFragment extends SherlockDialogFragment implements TimePickerDialog.OnTimeSetListener
{
private TimePickedListener mListener;
static int hour;
static int minute;
static Context mContext;
public static TimePickerFragment newInstance(Context context, TimePickedListener listener, Calendar now)
{
TimePickerFragment dialog = new TimePickerFragment();
mContext = context;
hour = now.get(Calendar.HOUR_OF_DAY);
minute = now.get(Calendar.MINUTE);
return dialog;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
return new TimePickerDialog(mContext, this, hour, minute, DateFormat.is24HourFormat(getActivity()));
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute)
{
// when the time is selected, send it to the activity via its callback
// interface method
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, hourOfDay);
c.set(Calendar.MINUTE, minute);
mListener.onTimePicked(c);
}
public static interface TimePickedListener
{
public void onTimePicked(Calendar time);
}
}
public void selectTime(final TextView lblTime, final int position) {
hideRight();
timeFrag = TimePickerFragment.newInstance(getActivity(), new TimePickedListener() {@
Override
public void onTimePicked(Calendar time) {
lblTime.setText(DateFormat.format("h:mm a", time));
}
}, now);
timeFrag.show(getActivity().getSupportFragmentManager(), "timePicker");
}
07-02 17 주 조각 내부 시간을 선택 04.214 : E는/XXX (10341)은 : 예외 uncaught이다 : 07-02 17 : 28 : 04.214 : E/XXX (10341) : java.lang.NullPointerException 07-02 17 : 28 : 04.214 : E/XXX (10341) : com.common.TimePickerFragment.onTimeSet (TimePickerFragment.java:47) 07-02 17 : 28 : 04.214 : E/XXX (10341) : android.app.TimePickerDialog.tryNotifyTimeSet (Tim ePickerDialog.java:130) 07-02 17 : 28 : 04.214 : E/XXX (10341) : android.app.TimePickerDialog.onClick (TimePickerDialog.java:115) 07-02 17 : 28 : 04.214 : E/XXX (10341) : com.android.internal.app.AlertController $ ButtonHandler.handleMessage (AlertController.java:166) 07-02 17 : 28 : 04.214 : E/XXX (10341) : android.os .Handler.dispatchMessage (Handler.java:99) 07-02 17 : 28 : 04.214 : E/XXX (10341) : android.os.Looper.loop (Looper.java:137) 07-02 17:28 : 04.214 : E/XXX (10341) : android.app.ActivityThread.main (ActivityThread.java:4928) 07-02 17 : 28 : 04.214 : E/XXX (10341) : java.lang. reflect.Method.invokeNative (네이티브 메소드) 07-02 17 : 28 : 04.214 : E/XXX (10341) : 에서 java.lang.reflect.Method.invoke (Method.java:511) 07-02 17 : 28 : 04.214 : E/XXX (10341) : at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:791) 07-02 17 : 28 : 04.214 : E/XXX (10341) : com.android.internal.os.ZygoteInit. 주 (ZygoteInit.java:558) 07-02 17 : 28 : 04.214 : E/XXX (10341) : dalvik.system.NativeStart.main에서 (기본 방법)
"시간"은 어떻게 정의되어 있습니까? http://developer.android.com/reference/java/text/DateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)에서도이 링크를 확인하십시오. format() 함수는 세 가지 형식을 가지고 있으며 여러분이 생각하는 것 중 아무 것도 참조하지 않습니다. – g00dy