【发布时间】:2017-03-18 06:39:48
【问题描述】:
我想将选项卡式活动显示为一个片段,现在我没有得到选项卡,有没有人可以检查代码并纠正我,因为在过去的几天里我看到这个代码可以工作
这是我的家庭 xml 代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.hackerinside.jaisonjoseph.testapp.MainActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
这是我要编辑并使其正确的java代码
package com.hackerinside.jaisonjoseph.testapp;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* A simple {@link Fragment} subclass.
*/
public class test extends Fragment {
public SectionsPagerAdapter mSectionsPagerAdapter;
public ViewPager mViewPager;
public test() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_test, null);
mSectionsPagerAdapter = new SectionsPagerAdapter (getFragmentManager());
mViewPager = (ViewPager) rootView.findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
TabLayout tabLayout = (TabLayout) rootView.findViewById(R.id.tabs);
tabLayout.setupWithViewPager(mViewPager);
return inflater.inflate(R.layout.fragment_test, container, false);
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
private SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position)
{
case 0:
tab1 tab1=new tab1();
return tab1;
case 1:
tab2 tab2=new tab2();
return tab2;
default:return null;
}
}
@Override
public int getCount() {
// Show 3 total pages.
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return "SECTION 1";
case 1:
return "SECTION 2";
}
return null;
}
}
}
这里是 SectionsPagerAdapter
package com.hackerinside.jaisonjoseph.testapp;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.PagerAdapter;
import android.view.View;
/**
* Created by Jaison Joseph on 18-03-2017.
*/
class SectionsPagerAdapter extends PagerAdapter {
public SectionsPagerAdapter(FragmentManager fragmentManager) {
}
@Override
public int getCount() {
return 0;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return false;
}
}
请帮帮我
【问题讨论】:
-
您是否尝试在每个片段中添加 TabLayout?
-
是的,不是每个片段,只有一个片段
-
在您上面的代码中,我看到两个
SectionsPagerAdapter类。它们是什么? -
误...只有一个
标签: android class android-fragments