2

我已創建一個帶有包含3個選項卡的ViewPager的彈出DialogFragment對話框。 我可以在這些標籤之間滑動,但我也希望能夠點擊標籤標題在這些標籤之間切換。有人知道這是否可能?DialogFragment中的ViewPager不會更改選項卡onClick

我已經讀過,這是可行的操作欄佈局,但因爲它是一個彈出對話框,這對我來說是不可能的。

這裏是我的代碼:

的ViewPager適配器:

public class TabAdapter extends FragmentPagerAdapter { 

    public TabAdapter(FragmentManager fragmentManager) { 
    super(fragmentManager); 
    } 

    @Override 
    public Fragment getItem(int position) { 
    switch (position) { 
     case 0: 
     return new Tab1(); 
     case 1: 
     return new Tab2(); 
     case 2: 
     return new Tab3(); 
     default: 
     return null; 
    } 
    } 

    @Override 
    public int getCount() { 
    return 3; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
    switch (position) { 
     case 0: 
     return "First Tab"; 
     case 1: 
     return "Second Tab"; 
     case 2: 
     return "Third Tab"; 
    } 
    return null; 
    } 
} 

的DialogFragment:

public class TabFragment extends DialogFragment { 
    @Override 
    public Dialog onCreateDialog(final Bundle savedInstanceState) { 
    Dialog dialog = super.onCreateDialog(savedInstanceState); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.getWindow() .setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 
    return dialog; 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.tablayoutfragment, container); 
    TabAdapter tabAdapter = new TabAdapter(getChildFragmentManager()); 
    ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager); 
    viewPager.setAdapter(tabAdapter); 

    return view; 
    } 

} 

選項卡中的每一個只包含一個文本視圖目前,平平淡淡那裏。 請讓我知道,如果你看到任何我已經錯過了

回答

3

是的,你可以做到這一點!您不需要使用ActionBar來擁有這些選項卡。使用PagerTitleStrip而不是ActionBar選項卡並完全按照鏈接文章的其餘部分中的描述來實現它。

編輯:

另外,您可以使用ViewPagerIndicator,由傑克沃頓商學院的發展。用法與鏈接文章一樣。

+0

您將我引向正確的答案:我使用的是PagerTitleStrip,但需要使用PagerTabStrip代替。 –

相關問題