DateFormat.is24HourFormat在class中不起作用

时间:2018-03-08 22:37:46

标签: android

代码:

import android.text.format.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.UUID;

/**
 * Created by Chris on 2/17/2018.
 */

public class Crime {

    private UUID mId;
    private String mTitle;
    private Date mDate;
    private boolean mSolved;
    private boolean mRequiresPolice;
    private Calendar mCalendar;



   public Crime(){
    mId = UUID.randomUUID();
    mDate = new Date();
    mCalendar = Calendar.getInstance();
}


....

public String getFormattedTime(){

    if (DateFormat.is24HourFormat());

    return DateFormat.format("HH:mm", mDate).toString();
}

问题:

我无法在getFormattedTime()方法中解析DateFormat.is24HourFormat。使用“this”,“getContext”,“getApplicationContext”不起作用。它在我拥有的另一个类中工作正常,这只是DialogFragment的扩展。我可能很愚蠢,但我无法理解。

谢谢

1 个答案:

答案 0 :(得分:0)

DateFormat.is24HourFormat()需要上下文作为参数,因为该方法会检查用户首选项。 " "因为这不是活动,所以不会在你的课堂犯罪中工作。

你可以这样做:

public String getFormattedTime(Context context){

    if (DateFormat.is24HourFormat(context));

    return DateFormat.format("HH:mm", mDate).toString();
}

然后从你的活动电话

String time = mycrime.getFormattedTime(this)