我在刷卡標籤視圖。我想在SupportActionBar的底部顯示PagerTabStrip。所有選項卡內容都很好地顯示,但問題在於這些選項卡的標題沒有顯示,PagerTabStrip沒有顯示在SupportActionBar的底部。PagerTBStrip沒有顯示
main_tab.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="horizontal">
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >
<android.support.v4.view.PagerTabStrip
android:layout_width="wrap_content"
android:layout_height="100dp"
android:background="#e62117"
android:id="@+id/tab_strip"
android:focusableInTouchMode="false">
</android.support.v4.view.PagerTabStrip>
</android.support.v4.view.ViewPager>
</LinearLayout>
TAB1,TAB2,TAB3:類似
public class tab1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab1,container,false);
return view;
}
}
ma_page_adapter:
public class ma_pager_adapter extends FragmentPagerAdapter {
public ma_pager_adapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
switch (i) {
case 0:
tab1 t1 = new tab1();
return t1;
case 1:
tab2 t2 = new tab2();
return t2;
case 2:
tab3 t3 = new tab3();
return t3;
}
return null;
}
@Override
public int getCount() {
return 3;
}//set the number of tabs
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
switch (position) {
case 0:
return "Top stories";
case 1:
return "Members";
case 2:
return "Setting";
}
return null;
}
}
MainActivity:
ViewPager pager;
PagerTabStrip tab_strp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_tab);
ma_pager_adapter mapager = new ma_pager_adapter(getSupportFragmentManager());
pager = (ViewPager)findViewById(R.id.pager);
pager.setAdapter(mapager);
// tab_strp = (PagerTabStrip) findViewById(R.id.tab_strip);
((ViewPager.LayoutParams) findViewById(R.id.tab_strip).getLayoutParams()).isDecor = true;
// tab_strp.setTextColor(Color.WHITE);
}
}
老兄,我看不到爲什麼你的應用程序崩潰了你粘貼在你的問題的代碼。請創建一個單獨的堆棧溢出問題,該問題顯示了崩潰的代碼和堆棧跟蹤,並且我們將其置於底部。 @ L.Liu的回答似乎表明,你的問題中的代碼很好,這可能是你在應用程序中做的其他事情導致它崩潰的原因。就像我說的那樣,創建一個單獨的問題,向我展示崩潰的堆棧軌跡,將鏈接發送給我,然後我們將進行調查。 –
感謝兄弟。它的工作現在。 –