2012-06-03 3 views
0

가로로 스 와이프 할 수있는 탭을 사용하는 활동을 만들고 있습니다. 3.0 이전 호환성을 위해 Actionbar Sherlock (ABS)도 사용하고 있습니다.ActionbarSherlock에서 FragmentTabsPager로 맞춤 클래스 사용

Sparky on http://code.google.com/p/sherlock-demo/source/browse/#git%2Fsrc%2Fcom%2Fexample%2Fandroid%2Fsherlockdemo에서 Stackoverflow 사용자의 ABS가있는 FragmentTabsPager의 좋은 구현을 발견했습니다. 목록 항목은 문자열이지만, 내 목록보기 항목이 두 개의 문자열 플러스 이미지가 일어나는 경우가 잘 작동

String[] mAccts; // source data for the list 

// populate mAccts with an array of Strings ... 

setListAdapter(new ArrayAdapter<String> (getActivity(), 
       R.layout.simple_list_item_checkable_1, 
       android.R.id.text1, mAccts)); 

다음과 같이

그것은 어댑터를 설정합니다. 그래서 다음과 같이 내 사용자 정의 클래스와 함께 작동하도록 코드를 변경 시도했다 : MyItemAdapter는

public class MyItemAdapter extends ArrayAdapter<MyItem> { ... } 

MyItemAdapter도 MyItem에서 바로 필드를 꺼내하는의 getView() 함수를 포함

ArrayList<MyItem> mItems = new ArrayList<MyItem>(); // new source data 

// populate mItems with an array of MyItems ... 

setListAdapter(new MyItemAdapter(getActivity(), R.layout.my_list, mItems)); 

입니다

경우 my_list XML을 부 풀린다.

문제 : 위의 변경이 작동해야하지만,이 예에서 setListAdapter()가 호출되는 클래스는 정적으로 선언되고 MyItemAdapter는 정적이 아닌 getSystemService()를 호출합니다. 그 결과 오류가 발생합니다 :

Cannot make a static reference to the non-static method getSystemService(String) 

나는 비상 정적 인 호출 함수를 만들려고했으나 예제 코드가 손상된 것 같습니다.

이 문제를 해결하는 방법에 대한 아이디어가 있으십니까? 나는 모든 도움에 감사드립니다!

답변

2

내 문제에 대한 해결책을 찾았습니다. 호출 클래스는 조각 안에 실제로 이었기 때문에, 난 그냥 내가 조각에 새로운 해요

getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

에 변경하는 데 필요한, 그래서 이것은 일반적인 오류 것 같다. 감사.

관련 문제