Java 如何在布局中绘制布局

Java 如何在布局中绘制布局,java,android,xml,layout,android-viewtreeobserver,Java,Android,Xml,Layout,Android Viewtreeobserver,我有一个应用程序,在点击统计数据后,我称之为StatsFragment。StatsFragment使用fragment_stats xml布局,其中有一个TabLayout和CustomViewPager。然而,当我点击统计数据时,我的StatsFragment被称为数据,但并没有在那里绘制。单击某些选项卡后,数据将显示在那里。 问题在于初始绘图。从我知道我将使用ViewTreeObserver,但无法找到在哪里以及如何使用的方法 <ScrollView android:layou

我有一个应用程序,在点击统计数据后,我称之为StatsFragment。StatsFragment使用fragment_stats xml布局,其中有一个TabLayout和CustomViewPager。然而,当我点击统计数据时,我的StatsFragment被称为数据,但并没有在那里绘制。单击某些选项卡后,数据将显示在那里。 问题在于初始绘图。从我知道我将使用ViewTreeObserver,但无法找到在哪里以及如何使用的方法

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
片段统计xml文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".StatsFragment">

<!-- TODO: Update blank fragment layout -->

<!--android:elevation="6dp"-->
<android.support.design.widget.TabLayout
    android:id="@+id/tab_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"

    android:minHeight="?attr/actionBarSize"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    />

<pv239.fi.muni.cz.moneymanager.CustomViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_below="@id/tab_layout"
    >
    <android.support.v4.view.PagerTitleStrip
        android:id="@+id/pager_title_strip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:background="#33b5e5"
        android:textColor="#fff"
        android:paddingTop="4dp"
        android:paddingBottom="4dp" />

</pv239.fi.muni.cz.moneymanager.CustomViewPager>

</RelativeLayout>
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>

了解更多信息。
*/
StatsInteractionListener上的公共接口{
//TODO:更新参数类型和名称
void onStatsInteraction(Uri);
}
私人日期编号ToDate(int daysBack、int Monthback、int yearsBack)
{
Calendar cal=Calendar.getInstance();
cal.add(日历日,日历日*(-1));
计算添加(日历月,月背*(-1));
cal.add(日历年,年份备份*(-1));
返回cal.getTime();
}
public void processChanges(视图选项卡视图,int tabNum)
{
int d=7;
int m=0;
int y=0;
MMDatabaseHelper sloh=MMDatabaseHelper.getInstance(getActivity());
if(tabNum==1)
{
d=0;
m=1;
y=0;
}
else if(tabNum==2)
{
d=0;
m=0;
y=1;
}
createGraph(选项卡视图、d、m、y、sloh);
立根平衡(tabView、d、m、y、sloh);
setListValues(选项卡视图、d、m、y、sloh);
}
私有void setListValues(视图选项卡视图、int d、int m、int y、MMDatabaseHelper sloh){
//创建收入列表
incomeListView=(ListView)选项卡视图.findViewById(R.id.listViewIncomeStats);
游标incomeRecords=sloh.getRecordsInRange(“>”,d,m,y);
RecordsDbToStatsAdapter incomeAdapter=新的RecordsDbToStatsAdapter(this.getContext(),incomeRecords,0);
incomeListView.setAdapter(incomeAdapter);
//创建费用清单
expensesListView=(ListView)选项卡视图.findViewById(R.id.ListViewExpenses);
光标费用记录=sloh.getRecordsRange(“”,d,m,y);
BigDecimal incValue=新的BigDecimal(helpInc.toString());
incSum.setText(format.format(incValue.abs().setScale(2.doubleValue()));
TextView expSum=(TextView)tabView.findviewbyd(R.id.expenseSumStats);

整型helpExp=sloh.getSumRecordsInRange(“据我所知,您没有在正确的时间做正确的事情。 当调用片段的
onCreateView
时,您会膨胀相应的布局,但不在其中设置任何值

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
只需将活动创建的
onActivityCreated
中的所有代码交换到
onCreateView
中,即可完成以下操作:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 // Inflate the layout for this fragment
 View layout = inflater.inflate(R.layout.fragment_stats, container, false);
TabLayout tabLayout = (TabLayout)layout.findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText("7 days"));
tabLayout.addTab(tabLayout.newTab().setText("1 month"));
tabLayout.addTab(tabLayout.newTab().setText("1 year"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);


final CustomViewPager viewPager = (CustomViewPager) layout.findViewById(R.id.pager);
final PagerAdapter adapter = new PagerAdapter(getActivity().getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setPagingEnabled(false);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
    @Override
    public void onTabSelected(TabLayout.Tab tab) {
        viewPager.setCurrentItem(tab.getPosition());
processChanges((adapter.getItem(tab.getPosition())).getView(),tab.getPosition());
    }

    @Override
    public void onTabUnselected(TabLayout.Tab tab) {
    }

    @Override
    public void onTabReselected(TabLayout.Tab tab) {
    }
    });
return (layout);
}
编辑:在第二次(更仔细地)查看代码之后,最好的办法是让片段管理选项卡,这样您就可以将逻辑放在其中(并将它们放在每个选项卡中)。为此:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
步骤1:为页面创建一个新的片段类

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
public abstract class PageFragment extends Fragment {
  private int pageNumber;
  public static PageFragment newInstance(int page) {
    Bundle args = new Bundle();
    args.putInt("page_number", page);
    PageFragment fragment = new PageFragment();
    fragment.setArguments(args);
    return (fragment);
  }
  public PageFragment(){}
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
      pageNumber = getArguments().getInt("page_number");
    }
  }
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View layout = inflater.inflate(R.layout.tab_fragment, container, false);
    //Get all the views you need for your page, using 
    //layout.findViewById();

    //Then you will need to call processChanges for that page
    processChanges(layout, pageNumber);
    return (layout);
  }
  //Also add here all the logic associated with processChanges
}
第2步是在StatsFragment中获取片段的引用,并将这些片段添加到寻呼机:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
private PageFragment pageOne;
private PageFragment pageTwo;
private PageFragment pageThree;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 // Inflate the layout for this fragment
 View layout = inflater.inflate(R.layout.fragment_stats, container, false);
 TabLayout tabLayout = (TabLayout)layout.findViewById(R.id.tab_layout);
 pageOne = PageFragment.newInstance(0);
 pageTwo = PageFragment.newInstance(1);
 pageThree = PageFragment.newInstance(2);

 tabLayout.addFragment(pageOne, "7 days");
 tabLayout.addFragment(pageTwo, "1 month");
 tabLayout.addFragment(pageThree, "1 year");
 tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
}
public class MyViewPagerAdapter extends FragmentPagerAdapter {
  private List<Fragment> mFragments = new ArrayList<>();
  private List<String> mTitles = new ArrayList<>();

  public MyViewPagerAdapter(FragmentManager fm) {
      super(fm);
  }

  public void addFragment(Fragment fragment, String title) {
      mFragments.add(fragment);
      mTitles.add(title);
  }

  @Override
  public Fragment getItem(int position) {
      return (mFragments.get(position));
  }

  @Override
  public int getCount() {
      return (mFragments.size());
  }

  @Override
  public String getPageTitle(int position) {
      return (mTitles.get(position));
  }
}
步骤3:您最终需要一个自定义寻呼机适配器来保存寻呼机的标题和片段:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
private PageFragment pageOne;
private PageFragment pageTwo;
private PageFragment pageThree;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 // Inflate the layout for this fragment
 View layout = inflater.inflate(R.layout.fragment_stats, container, false);
 TabLayout tabLayout = (TabLayout)layout.findViewById(R.id.tab_layout);
 pageOne = PageFragment.newInstance(0);
 pageTwo = PageFragment.newInstance(1);
 pageThree = PageFragment.newInstance(2);

 tabLayout.addFragment(pageOne, "7 days");
 tabLayout.addFragment(pageTwo, "1 month");
 tabLayout.addFragment(pageThree, "1 year");
 tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
}
public class MyViewPagerAdapter extends FragmentPagerAdapter {
  private List<Fragment> mFragments = new ArrayList<>();
  private List<String> mTitles = new ArrayList<>();

  public MyViewPagerAdapter(FragmentManager fm) {
      super(fm);
  }

  public void addFragment(Fragment fragment, String title) {
      mFragments.add(fragment);
      mTitles.add(title);
  }

  @Override
  public Fragment getItem(int position) {
      return (mFragments.get(position));
  }

  @Override
  public int getCount() {
      return (mFragments.size());
  }

  @Override
  public String getPageTitle(int position) {
      return (mTitles.get(position));
  }
}

据我所知,你没有在正确的时间做正确的事情。 当调用片段的
onCreateView
时,您会膨胀相应的布局,但不在其中设置任何值

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
只需将活动创建的
onActivityCreated
中的所有代码交换到
onCreateView
中,即可完成以下操作:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 // Inflate the layout for this fragment
 View layout = inflater.inflate(R.layout.fragment_stats, container, false);
TabLayout tabLayout = (TabLayout)layout.findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText("7 days"));
tabLayout.addTab(tabLayout.newTab().setText("1 month"));
tabLayout.addTab(tabLayout.newTab().setText("1 year"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);


final CustomViewPager viewPager = (CustomViewPager) layout.findViewById(R.id.pager);
final PagerAdapter adapter = new PagerAdapter(getActivity().getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.setPagingEnabled(false);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
    @Override
    public void onTabSelected(TabLayout.Tab tab) {
        viewPager.setCurrentItem(tab.getPosition());
processChanges((adapter.getItem(tab.getPosition())).getView(),tab.getPosition());
    }

    @Override
    public void onTabUnselected(TabLayout.Tab tab) {
    }

    @Override
    public void onTabReselected(TabLayout.Tab tab) {
    }
    });
return (layout);
}
编辑:在第二次(更仔细地)查看代码之后,最好的办法是让片段管理选项卡,这样您就可以将逻辑放在其中(并将它们放在每个选项卡中)。为此:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
步骤1:为页面创建一个新的片段类

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
public abstract class PageFragment extends Fragment {
  private int pageNumber;
  public static PageFragment newInstance(int page) {
    Bundle args = new Bundle();
    args.putInt("page_number", page);
    PageFragment fragment = new PageFragment();
    fragment.setArguments(args);
    return (fragment);
  }
  public PageFragment(){}
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
      pageNumber = getArguments().getInt("page_number");
    }
  }
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View layout = inflater.inflate(R.layout.tab_fragment, container, false);
    //Get all the views you need for your page, using 
    //layout.findViewById();

    //Then you will need to call processChanges for that page
    processChanges(layout, pageNumber);
    return (layout);
  }
  //Also add here all the logic associated with processChanges
}
第2步是在StatsFragment中获取片段的引用,并将这些片段添加到寻呼机:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
private PageFragment pageOne;
private PageFragment pageTwo;
private PageFragment pageThree;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 // Inflate the layout for this fragment
 View layout = inflater.inflate(R.layout.fragment_stats, container, false);
 TabLayout tabLayout = (TabLayout)layout.findViewById(R.id.tab_layout);
 pageOne = PageFragment.newInstance(0);
 pageTwo = PageFragment.newInstance(1);
 pageThree = PageFragment.newInstance(2);

 tabLayout.addFragment(pageOne, "7 days");
 tabLayout.addFragment(pageTwo, "1 month");
 tabLayout.addFragment(pageThree, "1 year");
 tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
}
public class MyViewPagerAdapter extends FragmentPagerAdapter {
  private List<Fragment> mFragments = new ArrayList<>();
  private List<String> mTitles = new ArrayList<>();

  public MyViewPagerAdapter(FragmentManager fm) {
      super(fm);
  }

  public void addFragment(Fragment fragment, String title) {
      mFragments.add(fragment);
      mTitles.add(title);
  }

  @Override
  public Fragment getItem(int position) {
      return (mFragments.get(position));
  }

  @Override
  public int getCount() {
      return (mFragments.size());
  }

  @Override
  public String getPageTitle(int position) {
      return (mTitles.get(position));
  }
}
步骤3:您最终需要一个自定义寻呼机适配器来保存寻呼机的标题和片段:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
private PageFragment pageOne;
private PageFragment pageTwo;
private PageFragment pageThree;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 // Inflate the layout for this fragment
 View layout = inflater.inflate(R.layout.fragment_stats, container, false);
 TabLayout tabLayout = (TabLayout)layout.findViewById(R.id.tab_layout);
 pageOne = PageFragment.newInstance(0);
 pageTwo = PageFragment.newInstance(1);
 pageThree = PageFragment.newInstance(2);

 tabLayout.addFragment(pageOne, "7 days");
 tabLayout.addFragment(pageTwo, "1 month");
 tabLayout.addFragment(pageThree, "1 year");
 tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
}
public class MyViewPagerAdapter extends FragmentPagerAdapter {
  private List<Fragment> mFragments = new ArrayList<>();
  private List<String> mTitles = new ArrayList<>();

  public MyViewPagerAdapter(FragmentManager fm) {
      super(fm);
  }

  public void addFragment(Fragment fragment, String title) {
      mFragments.add(fragment);
      mTitles.add(title);
  }

  @Override
  public Fragment getItem(int position) {
      return (mFragments.get(position));
  }

  @Override
  public int getCount() {
      return (mFragments.size());
  }

  @Override
  public String getPageTitle(int position) {
      return (mTitles.get(position));
  }
}

根据Nsimon,我更新了当前状态。这为我解决了初始屏幕的问题。非常感谢Nsimon

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
ViewPagerAdapter:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
public class ViewPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> mFragments = new ArrayList<>();
private List<String> mTitles = new ArrayList<>();

public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
}

public void addFragment(Fragment fragment, String title) {
    mFragments.add(fragment);
    mTitles.add(title);
}

@Override
public Fragment getItem(int position) {
    return (mFragments.get(position));
}

@Override
public int getCount() {
    return (mFragments.size());
}

@Override
public String getPageTitle(int position) {
    return (mTitles.get(position));
}
}

根据Nsimon,我更新了当前状态。这为我解决了初始屏幕的问题。非常感谢Nsimon

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
ViewPagerAdapter:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:id="@+id/gridViewScreenStats">


        <com.jjoe64.graphview.GraphView
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/graph" />

        <GridLayout
            android:id="@+id/stats"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/graph"
            android:layout_gravity="center"
            android:background="@drawable/box"
            android:layout_margin="10dp"
            android:rowCount="5"
            android:columnCount="2"
            android:padding="5dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Starting balance: "
                android:paddingLeft="10dp"
                android:id="@+id/startBalanceLabel"
                android:layout_row="0"
                android:layout_column="0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@+id/startBalanceLabel"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/startBalance"
                android:layout_row="0"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Ending balance: "
                android:paddingLeft="10dp"
                android:id="@+id/endBalanceLabel"
                android:layout_row="1"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/startBalance"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:layout_toRightOf="@id/endBalanceLabel"
                android:id="@+id/endBalance"
                android:layout_row="1"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Incomes: "
                android:layout_below="@id/endBalanceLabel"
                android:id="@+id/incomeStats"
                android:layout_row="2"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordPositiveValue"
                android:id="@+id/incomeSumStats"
                android:layout_below="@id/endBalance"
                android:textAlignment="textEnd"
                android:layout_row="2"
                android:layout_column="1"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Expenses:"
                android:id="@+id/expenseStats"
                android:layout_row="3"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:textColor="@color/recordNegativeValue"
                android:id="@+id/expenseSumStats"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="3"
                android:layout_column="1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="+/- status:"
                android:id="@+id/actualStats"
                android:layout_row="4"
                android:layout_column="0" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text=""
                android:id="@+id/actualSumStats"
                android:textColor="@color/recordPositiveValue"
                android:textAlignment="textEnd"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_row="4"
                android:layout_column="1" />
        </GridLayout>
        <!-- Income records -->

        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@id/stats"
            android:layout_margin="10dp"
            android:id="@+id/listViewIncomeStats"
            android:nestedScrollingEnabled="true"/>

        <!-- Expenses records -->
        <ListView
            android:layout_width="wrap_content"
            android:layout_height="300dp"
            android:background="@drawable/box"
            android:layout_below="@+id/listViewIncomeStats"
            android:layout_margin="10dp"
            android:id="@+id/listViewExpences"
            android:nestedScrollingEnabled="true"/>

    </RelativeLayout>
   </ScrollView>
</RelativeLayout>
public class ViewPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> mFragments = new ArrayList<>();
private List<String> mTitles = new ArrayList<>();

public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
}

public void addFragment(Fragment fragment, String title) {
    mFragments.add(fragment);
    mTitles.add(title);
}

@Override
public Fragment getItem(int position) {
    return (mFragments.get(position));
}

@Override
public int getCount() {
    return (mFragments.size());
}

@Override
public String getPageTitle(int position) {
    return (mTitles.get(position));
}
}

这将调用java.lang.NullPointerException:尝试在其中的空对象引用上调用虚拟方法“android.view.view.android.view.findViewById(int)”。它在TabLayout TabLayout=(TabLayout)getView().findViewById(R.id.tab_布局)上右击;您是对的,请参阅我的编辑:您不需要调用getView.findViewById,因为我们获得了视图,只需调用layout.findViewById即可。现在应用程序正在运行,但它没有解决问题。其余的都是“正常”的“因为您正在进行的计算位于
processChange
函数中,该函数仅在选项卡更改时调用。如果您以前需要它,只需在需要时调用它,例如在
返回(布局)行之前调用它。”
,也就是说,当您的所有视图都准备好用值填充时非常感谢。我做了一些小的其他更改,现在功能齐全。我也将用工作代码更新我的答案。非常感谢您的帮助。太棒了!!!这将调用java.lang.NullPointerException:尝试调用虚拟方法“android.view”。在其中的空对象引用上查看android.View.View.findViewById(int)”。它在TabLayout TabLayout=(TabLayout)getView()上右击。findViewById(R.id.tab_布局);您是对的,请参阅我的编辑:您不需要调用getView.findViewById,因为我们获得了视图,只需调用layout.findViewById即可。现在应用程序正在运行,但它没有解决问题。其余的都是“正常”的因为您正在进行的计算位于
processChange
函数中,该函数仅在选项卡更改时调用。如果您以前需要它,只需在需要时调用它,例如在
r行之前