2015-07-21 155 views
0

你好我的材料測試應用程序中有一個問題,我想測試標籤設計,但它沒有爲我工作,即時通訊教程,我做了同樣的,但它沒有工作,所有的片段和XML文件都不錯,只是這是行不通的 有人可以幫助我! 感謝我viewPager標籤不顯示

private ViewPager mPager; 
private SlidingTabLayout mTab; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    toolbar = (Toolbar) findViewById(R.id.app_bar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayShowHomeEnabled(true); 
    NavigationDrawerFragment drawerFragment = (NavigationDrawerFragment) 
      getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer); 
    drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawerLayout), toolbar); 

    mPager = (ViewPager) findViewById(R.id.pager); 
    mPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())); 
    mTab = (SlidingTabLayout) findViewById(R.id.tabs); 
    mTab.setViewPager(mPager); 


} 

class MyPagerAdapter extends FragmentPagerAdapter { 

    String[] tabs; 

    public MyPagerAdapter(FragmentManager fm) { 
     super(fm); 
     tabs = getResources().getStringArray(R.array.tabs); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     MyFragment myFragment = MyFragment.getInstance(position); 

     return myFragment; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return tabs[position]; 
    } 

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

public static class MyFragment extends Fragment { 
    private TextView textView; 

    public static MyFragment getInstance(int position) { 
     MyFragment myFragment = new MyFragment(); 
     Bundle args = new Bundle(); 
     args.putInt("position", position); 
     myFragment.setArguments(args); 
     return myFragment; 
    } 


    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View layout = inflater.inflate(R.layout.frament_my, container, false); 
     textView = (TextView) layout.findViewById(R.id.position); 
     Bundle bundle = getArguments(); 

     if (bundle != null) { 
      textView.setText("The page selector is " + bundle.getInt("position") + 1); 
     } 

     return layout; 
    } 
} 

}

回答

0

如果您使用的是片段傳呼機適配器,您可以添加一個塊到打開和關閉viewPager之間的XML,它會自動處理的標籤,你根據你定義什麼getPageTitle()來做。

<android.support.v4.view.ViewPager 
    android:id="@+id/vpPager" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <android.support.v4.view.PagerTabStrip 
     android:id="@+id/pager_header" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" 
     android:paddingBottom="4dp" 
     android:paddingTop="4dp" /> 

</android.support.v4.view.ViewPager> 

我得到這個從這個鏈接,我想你會發現有用:https://github.com/codepath/android_guides/wiki/ViewPager-with-FragmentPagerAdapter

+0

這對我沒有工作:/ http://puu.sh/j8Hlb/bde557d06b.png –