2015-07-21 83 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 –