2014-02-14 44 views
1

我在Android中使用默認活動,在其中選擇「可滾動標籤+輕掃」作爲導航類型。如何確定滑動後當前顯示哪個標籤?如何確定用戶何時滑到FragmentActivity中的另一個選項卡?

我試圖像這樣在DummySectionFragment

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_starting_dummy, 
        container, false); 
      TextView dummyTextView = (TextView) rootView 
        .findViewById(R.id.section_label); 
      dummyTextView.setText(Integer.toString(getArguments().getInt(
        ARG_SECTION_NUMBER))); 


      switch(getArguments().getInt(ARG_SECTION_NUMBER)) 
      { 
       case 1: // do something 
       .... 
      } 

,但它不工作,監守這種方法onCreateView沒有被滑動後,總是叫。我想有一些簡單的方法可以做到,但我無法找到它。 (同樣,如果它可用於API 8,將會非常好)

+0

的可能重複[安卓ViewPager獲取當前視圖](http://stackoverflow.com/questions/12854783/android-viewpager-get-the-current-view) –

+0

我需要一些方法,我將知道這將在滑動後被調用,以便我可以做一些事情。這我需要打電話和問,但我需要滑動後調用的方法。 – Tommz

+0

問題不是:「如何確定是哪個幻燈片,但是當用戶幻燈片」 – Tommz

回答

1

要知道頁面何時被更改,您可以使用作爲ViewPager。您可以使用setOnPageChangeListener()進行設置。

vpPager.setOnPageChangeListener(new OnPageChangeListener() { 

    // This method will be invoked when a new page becomes selected. 
    @Override 
    public void onPageSelected(int position) {} 

    // This method will be invoked when the current page is scrolled 
    @Override 
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} 

    // Called when the scroll state changes: 
    // SCROLL_STATE_IDLE, SCROLL_STATE_DRAGGING, SCROLL_STATE_SETTLING 
    @Override 
    public void onPageScrollStateChanged(int state) {} 
}); 
+0

啊,非常感謝!這正是我需要的。 – Tommz

+1

很高興幫助:) –

0

考慮在片段中過濾setUserVisibleHint()方法。

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) { 
    super.setUserVisibleHint(isVisibleToUser); 
    if (isVisibleToUser) { 
     Log.d(DEBUG_TAG, "Fragment is visiable"); 
     // do something you want 
    } 
} 
相關問題