如何修复Lint的“已弃用Configuration中的[[deprecation]语言环境”)警告

时间:2018-08-19 12:12:11

标签: android locale deprecated lint android-7.0-nougat

希望这不是我已解决的关于语言环境弃用的context.getResources().getConfiguration().locale调用的许多其他问题的重复。

对于以下代码,我该如何消除Lint警告:

public static String toDateString(Context context, Date date)
{
    DateFormat format = Build.VERSION.SDK_INT >= 24 ?
            DateFormat.getDateInstance(DateFormat.MEDIUM, context.getResources().getConfiguration().getLocales().get(0)) :
            DateFormat.getDateInstance(DateFormat.MEDIUM, context.getResources().getConfiguration().locale);
    return format.format(date);
}

2 个答案:

答案 0 :(得分:0)

您不应直接使用属性。

请参见getLocales

答案 1 :(得分:0)

首先检查您的当前版本,然后使用不推荐使用的版本。试试这个,

    Locale locale;
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
       locale - this.getResources().getConfiguration().getLocals().get(0);
    }
      else{locale = this.getResources().getConfiguration().locale;
    }
  1. 您可以只使用Locale.getDefault()