2012-07-10 5 views
0

API 11 이상용으로 작성된 프로젝트가 있는데, 아니요 2.3.3 OS 장치에서도 사용할 수 있으므로 지원 라이브러리를 사용해야합니다. 가장 쉬운 방법은 무엇입니까? 예를 들어, 어떤 메소드에는 Fragments이라는 다른 이름이 있다는 것을 알고 있습니다. "모두 찾기 및 바꾸기"를 사용할 수 있습니까?Android 지원 라이브러리를 사용하면 편리할까요?

+0

왜 메뉴 항목이 비활성화되어 있습니까? –

+0

무엇을 의미합니까? – Eugene

+0

내 메뉴 항목 (모두 찾기 및 바꾸기)이 비활성화되어 더 이상 사용할 수 없습니까? –

답변

2

대부분 가능합니다. 또한 생각보다 작게 변경해야합니다 (예 : Fragment 클래스).

getFragmentManagergetSupportFragmentManager으로 변경하고 ActivityFragmentActivity으로 변경해야합니다. 그것들은 내 머리 꼭대기에서 가장 흔한 두 사람입니다.

가장 쉬운 방법은 타겟을 2.2로 변경하고 라이브러리로 지원 패키지를 추가 한 다음 휴식 시간을 확인하는 것입니다. 일단 대체 픽스를 찾으면 모두 찾아서 바꾸어서 사용할 수 있습니다 문제의 모든 사례

+0

고마워! 환경 설정은 어떻습니까? 이것은 내가 생각하는 문제 일 수있다. – Eugene

+0

예, 그건 이식되지 않았습니다. 이것을 확인하십시오 : http://stackoverflow.com/questions/5501431/was-preferencefragment-intentionally-excluded-from-the-compatibility-package – edthethird

+0

앱을 디버그하기 위해 프로젝트 빌드를 변경할 필요가 없습니다 ... this 'Android lint'가 무엇인지 ... –

0

"모두 찾기 및 바꾸기"를 사용할 수 있습니까?

내가 아는 한, 간단한 "찾기 및 바꾸기"를하는 것은 결코 좋은 생각이 아닙니다. 실수하기가 너무 쉽습니다.

전환하는 가장 쉬운 방법은 무엇입니까?

변경 사항은 매우 간단하므로 빌드 대상을 전혀 변경하지 않아도됩니다 (물론 Android 1.6 이상을 타겟팅한다고 가정 할 때). , 지원 라이브러리를 사용하는 각 Activity를 들어

  1. 대신 FragmentActivity을 확장 가지고 : 당신이해야합니다 주요 변경 사항은.

  2. FragmentActivity에서 getLoaderManager()에 대한 모든 호출을 getSupportLoaderManager()으로 바꿉니다.

  3. FragmentActivity에서 getFragmentManager()의 모든 호출을 getSupportFragmentManager()으로 바꿉니다.

  4. 모든 관련 android.* 가져 오기를 해당하는 support.v4.* 가져 오기 문으로 바꿉니다.