android - 설정 - 안드로이드 스튜디오 settings activity



특정 API 수준에서만 코드를 실행하는 방법 (1)

이것이 당신의 문제를 해결할 지 모르겠다.

하지만 버전을 확인하기 위해 API 9에서 작동하지 않습니다 (그리고 API 8부터 지원하고 있습니다).

다음을 사용해야합니다.

if (Build.VERSION.SDK_INT > 9) { 

또는 문제가있는 함수가 API 11이므로 "SDK_INT> 10"

그런 다음 Eclipse에서 lint 오류가 발생하면 사람들이 주석을 달고 lint 오류를 비활성화하거나 @SuppressLint ( "NewAPi") 또는 해당 함수의 대상을 11에 추가하십시오.

예를 들어,이 코드는 다음과 같습니다.

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.GINGERBREAD) {

  myCalendarView.setOnDateChangeListener(
    new OnDateChangeListener() {

      @Override
      public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
        Toast.makeText
        (
          getApplicationContext(), ""+dayOfMonth, 0
        ).show();        
      }

    }
  );

}  

오류 :

설명 리소스 경로 위치 유형 호출에는 API 수준 11 (현재 최소값은 8)이 필요합니다. android.widget.CalendarView # setOnDateChangeListener example.java / example / src / example / example line 20 Android Lint 문제

왜이 오류가 컴파일 타임 얻을 이해합니다. 그러나 특정 API 레벨 -11에서만 사용되는 소스 Java 클래스를 표시하는 방법이 있습니까? 또는 코드 블록을 정의 / 유사하게 둘러싸면 API 레벨 11 이상의 디바이스에서만 코드가 늦게 바인딩되거나 지트됩니까? 내가 원하는 것을 얻기위한 최선의 해결책은 무엇입니까? (어떤 장치에서 CalendarView를 사용하여 활동을 제공 할 것인가)





android