2012-04-15 3 views
2

this answer을 사용하여 조각 안에 표시기가있는 ViewPager를 사용하려고했습니다 (like so). (그냥 좀 조롱해라.)
조각을 변경하는 탐색 스피어가 있습니다. 각 "페이지"는 ListView를 포함합니다.조각 안에있는 ViewPagerIndicator

그래서 기본적으로 내가 찾고 있어요 :
SherlockFragmentActivity -> SherlockFragment -> ViewPager ->의 ListView 그러나

, 나는 시도하고) (내가 findViewById를 함께 오류가이 질문에 대해 본 것을 구현할 때;
올바른 "컨텍스트"를 얻지 못해서라고 생각합니다. context = getSherlockActivity().getApplicationContext();

단계 2 삭제 :

public class HomeViewFragment extends SherlockFragment { 

    private ViewPager mPager; 
    private HomePagerAdapter mAdapter; 
    private TitlePageIndicator mIndicator; 
    private Context context; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     context = getSherlockActivity().getApplicationContext();    

     mAdapter = new HomePagerAdapter(context); 

     mPager = (ViewPager)context.findViewById(R.id.pager); 
     mPager.setAdapter(mAdapter); 

     mIndicator = (TitlePageIndicator)context.findViewById(R.id.indicator); 
     mIndicator.setViewPager(mPager); 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
    } 
} 

답변

1

단계 # 1 : 여기

내 조각의와 context.findViewById 교체 getActivity().findViewById

3 단계 : getActivity()

context의 나머지 모든 발생을 교체

4 단계 : onActivityCreated()을 삭제하십시오. mplementation, 그것은 아무것도

을 수행하지 않는 한

5 단계 : 당신이 을 알지 못한다면

+0

findViewById를이 단편의 방법이 아닙니다 다시 주어진 상황에서 필요한 구체적 이유 getApplicationContext()를 사용하지 않을 것이라는 점을 해결 그래도 내가 뭘해야하지? 그리고 내 어댑터는 조각이 아니라 전달 된 컨텍스트가 필요합니다. – osxoep

+0

@osxoep : 죄송합니다. 충분히주의를 기울이지 않았습니다. 나는 나의 대답을 편집했다. – CommonsWare

+0

고마워, 그건 내 코드를 빌드하지만 지금은 또 다른 오류가있어. 나는 내가 오늘 밤에 무엇을하는지 알고있다 :) – osxoep