2016-08-29 4 views
1

Html.fromHtml(string)에 대한 지원 중단 경고를 삭제하고 싶습니다. Android : Html.fromHtml에 대한 지원 중단 경고 제거

나는 이런 식으로하려고 노력 :

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { 
     htmlSpanned = Html.fromHtml(string,Html.FROM_HTML_MODE_LEGACY); 
    } else { 
     //noinspection deprecation 
     htmlSpanned = Html.fromHtml(string); 
    } 

하지만 여전히 컴파일하는 동안 나에게 경고를 제공합니다

경고 : (18, 31) [중단] fromHtml (문자열) HTML로 되었습니다되었습니다

+0

귀하의 minSdkVersion은 24보다 높거나 낮습니까? –

+0

내 걸쇠 파일에 있음 : minSdkVersion 15, targetSdkVersion 24 –

답변

3

글쎄, one-parameter fromHtml()은 더 이상 사용되지 않습니다.

  1. 드롭 다음 Build 확인 당신은 네 가지 선택을 가지고 compileSdkVersion (24)

    당신이 오래된 장치에하지 전화하지만이로 사용되지는 사실을 변경하지 않는 것을 보장 compileSdkVersion 이하 24.이 경우에는 효과가 있습니다 (예 : 24.xx 버전의 지원 라이브러리를 사용할 수 없음). 좋은 옵션은 아닙니다.

  2. minSdkVersion을 24로 설정하고 one-parameter fromHtml() 호출을 제거하십시오. 이것은 2016 년에 비실용적입니다.

  3. 취소 선 및 린트 불만 사항에 따라 생활하십시오.

  4. 해당 @SuppressLint 주석을 메서드에 추가하여 IDE에서 불평하는 것을 중지 시키십시오.As Ahlem Jarrar notes을 추가하는 가장 간단한 방법은 빠른 수정을 사용하는 것입니다.

0

시도해 볼 수 있습니다. 나는 당신의 코드가 잘 보이는 것을 의미한다. 나는 그것을 시도했고 그것은 나를 위해 일했다.

// 우리의 HTML 콘텐츠를 얻을

String htmlAsString = getString(R.string.html); 
Spanned htmlAsSpanned = Html.fromHtml(htmlAsString); 

// 텍스트 뷰에서 사용

// 당신이 그것을 시도 할 수있는 텍스트 뷰

TextView textView = (TextView) findViewById(R.id.textView); 
textView.setText(htmlAsSpanned); 

우리의 HTML 콘텐츠 설정 :

@SuppressWarnings("deprecation") 
3

minSdkVersion이 24 이상 인 경우 fromHtml() that takes some flags as a parameter 버전을 사용하십시오. AFAIK, FROM_HTML_MODE_LEGACY은 이전 플래그없는 fromHtml()과의 호환성을 위해 사용할 플래그 값이됩니다. 당신의 minSdkVersion이 24보다 낮은 경우

, 당신의 선택은 다음과 같습니다

는 항상 fromHtml() 당신은 아마도 사용되어 빠른을-해결 (Alt-입력)를 린트 경고를 억제하는

사용을 사용 두 버전의 fromHtml() : 앱이 API 레벨 24 이상의 기기에서 실행중인 경우 플래그를 사용하거나 이전 기기의 플래그가없는 경우 플래그를 사용합니다.

관련 문제