Android Как извлечь элементы из XML-файла макета, который находится в ViewPager в двух словах

У меня есть файл activity_main.xml, одним из элементов которого является android.support.v4.view.ViewPager. То, что я пытаюсь сделать динамически в коде, это извлечь элемент или из XML-файла, который в данный момент загружен внутри ViewPager.

Я пытаюсь добраться до флажка @+id/ фрагмент_overview_graph_glucose, который находится внутри фрагмента_overview.xml (который является текущей страницей в ViewPager. Я попытался получить активное представление и получить адаптер, но я не уверен, как поступить оттуда. Я довольно новичок в Android. Буду признателен за любую помощь. Заранее спасибо. Обратите внимание, я нахожусь в классе, который не является действием, но вызывается классом Main Activity и получает ссылку на Activity.

ViewPager pager = (ViewPager) activity.findViewById(R.id.activity_main_pager);
View activeView = pager.getChildAt(pager.getCurrentItem());
 PagerAdapter adapter = pager.getAdapter();

activity_main.xml

    <android.support.design.widget.AppBarLayout
        android:id="@+id/activity_main_appbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/activity_main_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

        <android.support.design.widget.TabLayout
            android:id="@+id/activity_main_tab_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabIndicatorColor="@color/glucosio_accent"
            app:tabSelectedTextColor="@android:color/white"
            app:tabTextColor="#80ffffff" />
    </android.support.design.widget.AppBarLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" android:weightSum="100">

        <android.support.v4.view.ViewPager
            android:id="@+id/activity_main_pager"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:visibility="visible"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_weight="100"
            />

        <FrameLayout
            android:id="@+id/chci_fragment_holder"
            android:layout_width="match_parent"
            android:layout_gravity="bottom"
            android:layout_height="0dp"
            android:tag="chci_framelayout_tag"
            android:layout_weight="0"
            >
        </FrameLayout>
<!--
    <android.support.v4.view.ViewPager
        android:id="@+id/activity_main_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="visible"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_weight="90"/>

        <FrameLayout
            android:id="@+id/chci_fragment_holder"
            android:layout_width="match_parent"
            android:layout_gravity="bottom"
            android:layout_height="0dp"
            android:layout_weight="10"
            >
        </FrameLayout> -->

    </LinearLayout>

    <LinearLayout
        android:id="@+id/activity_main_empty_layout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:background="#ffffff"
        android:baselineAligned="false"
        android:orientation="vertical"
        android:backgroundTint="@color/red"
        android:weightSum="100"
        android:layout_weight="0.8"
        >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="45">

            <TextView
                android:id="@+id/activity_main_empty"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:gravity="center|bottom"
                android:lineSpacingExtra="-1dp"
                android:text="@string/fragment_empty_text"
                android:textSize="16sp" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="55">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:baselineAligned="false"
                android:orientation="horizontal">

                <TextView
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"></TextView>

                <RelativeLayout
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_marginRight="32dp"
                    android:layout_marginTop="@dimen/abc_action_bar_content_inset_material"
                    android:layout_weight="1">

                    <ImageView
                        android:id="@+id/activity_main_arrow"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_marginBottom="@dimen/fab_size_normal"
                        android:layout_marginRight="@dimen/fab_size_normal" />
                </RelativeLayout>
            </LinearLayout>
        </RelativeLayout>

    </LinearLayout>
<!--
    <FrameLayout
        android:id="@+id/chci_fragment_holder"
        android:layout_width="match_parent"
        android:layout_gravity="bottom"
        android:layout_height="wrap_content"
         >
    </FrameLayout> -->

    <com.github.clans.fab.FloatingActionButton
        android:id="@+id/activity_main_fab_add_reading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_gravity="bottom|right"
        android:layout_marginBottom="16dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="16dp"
        android:onClick="addNewGlucoseReading"
        android:src="@drawable/ic_add_black_24dp"
        app:fab_colorNormal="@color/glucosio_accent"
        app:fab_colorPressed="@color/glucosio_accent"
        app:fab_colorRipple="#99FFFFFF"
        app:fab_size="normal" />

</android.support.design.widget.CoordinatorLayout>

frag_overview.xml - текущий xml-файл, загруженный в ViewPager.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="16dp"
    android:layout_marginTop="16dp"
    android:background="#ffffff"
    tools:context="org.glucosio.android.fragment.OverviewFragment"
    tools:ignore="MissingPrefix">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingBottom="@dimen/fab_size_normal">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Spinner
                android:id="@+id/chart_spinner_range"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginBottom="8dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginTop="16dp"
                android:dropDownWidth="wrap_content"
                android:spinnerMode="dropdown" />

            <Spinner
                android:id="@+id/chart_spinner_metrics"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginBottom="8dp"
                android:layout_marginLeft="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginTop="16dp"
                android:dropDownWidth="wrap_content"
                android:spinnerMode="dropdown"
                android:visibility="gone" />


            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1" />

            <ImageButton
                android:id="@+id/fragment_overview_graph_export"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:background="?attr/selectableItemBackgroundBorderless"
                android:paddingLeft="16dp"
                android:paddingRight="16dp"
                android:src="@drawable/ic_photo_black_24dp" />
        </LinearLayout>

        <com.github.mikephil.charting.charts.LineChart
            android:id="@+id/chart"
            android:layout_width="fill_parent"
            android:layout_height="200dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="2px"
            android:layout_marginBottom="16dp"
            android:layout_marginTop="16dp"
            android:background="#DADADA" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginLeft="32dp"
            android:layout_marginRight="32dp"
            android:orientation="horizontal">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="0.5"
                android:orientation="vertical">

                <CheckBox
                    android:id="@+id/fragment_overview_graph_glucose"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:button="@drawable/selector_checkbox_glucose"
                    android:checked="true"
                    android:padding="4dp"
                    android:text="@string/fab_glucose"
                    android:textColor="@color/glucosio_text_light"
                    android:textSize="12sp" />

                <CheckBox
                    android:id="@+id/fragment_overview_graph_a1c"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:button="@drawable/selector_checkbox_a1c"
                    android:padding="4dp"
                    android:text="@string/fab_HB1AC"
                    android:textColor="@color/glucosio_text_light"
                    android:textSize="12sp" />

                <CheckBox
                    android:id="@+id/fragment_overview_graph_ketones"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:button="@drawable/selector_checkbox_ketones"
                    android:padding="4dp"
                    android:text="@string/fab_ketones"
                    android:textColor="@color/glucosio_text_light"
                    android:textSize="12sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:orientation="vertical">

                <CheckBox
                    android:id="@+id/fragment_overview_graph_weight"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:button="@drawable/selector_checkbox_weight"
                    android:padding="4dp"
                    android:text="@string/fab_weight"
                    android:textColor="@color/glucosio_text_light"
                    android:textSize="12sp" />

                <CheckBox
                    android:id="@+id/fragment_overview_graph_pressure"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:button="@drawable/selector_checkbox_pressure"
                    android:padding="4dp"
                    android:text="@string/fab_pressure"
                    android:textColor="@color/glucosio_text_light"
                    android:textSize="12sp" />

                <CheckBox
                    android:id="@+id/fragment_overview_graph_cholesterol"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:button="@drawable/selector_checkbox_cholesterol"
                    android:padding="4dp"
                    android:text="@string/fab_cholesterol"
                    android:textColor="@color/glucosio_text_light"
                    android:textSize="12sp" />
            </LinearLayout>
        </LinearLayout>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="2px"
            android:layout_marginTop="16dp"
            android:background="#DADADA" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="16dp"
            android:paddingRight="16dp">

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <TextView
                    fontPath="fonts/lato-bold.ttf"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="16dp"
                    android:text="@string/fragment_overview_last_reading"
                    android:textColor="@color/glucosio_text" />

                <TextView
                    android:id="@+id/item_history_reading"
                    fontPath="fonts/lato-bold.ttf"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="16dp"
                    android:text="100 mg/dL"
                    android:textColor="@color/glucosio_text" />

                <TextView
                    android:id="@+id/fragment_overview_last_date"
                    fontPath="fonts/lato.ttf"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="16dp"
                    android:text="Thu, 22 dic 2016"
                    android:textColor="@color/glucosio_text_light" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:text=""
                android:visibility="gone">

                <TextView
                    fontPath="fonts/lato-bold.ttf"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:text="@string/fragment_overview_trend"
                    android:textColor="@color/glucosio_text_light" />

                <TextView
                    android:id="@+id/item_history_trend"
                    fontPath="fonts/lato-bold.ttf"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="8dp"
                    android:text="@string/fragment_overview_trend_positive"
                    android:textColor="@color/glucosio_text_green" />
            </LinearLayout>
        </LinearLayout>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="2px"
            android:layout_marginTop="16dp"
            android:background="#DADADA" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="16dp"
            android:paddingRight="16dp">

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <TextView
                    fontPath="fonts/lato-bold.ttf"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="16dp"
                    android:text="@string/overview_hb1ac"
                    android:textColor="@color/glucosio_text" />

                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="4dp"
                    android:layout_marginLeft="2dp"
                    android:layout_marginRight="4dp"
                    android:layout_marginTop="16dp"
                    android:onClick="onA1cInfoClicked"
                    app:srcCompat="@drawable/ic_error_outline_black_24dp" />

                <TextView
                    android:id="@+id/fragment_overview_hb1ac"
                    fontPath="fonts/lato-bold.ttf"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="16dp"
                    android:text="6.5%"
                    android:textColor="@color/glucosio_text" />

                <TextView
                    android:id="@+id/fragment_overview_hb1ac_date"
                    fontPath="fonts/lato.ttf"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="16dp"
                    android:layout_marginLeft="8dp"
                    android:layout_marginTop="16dp"
                    android:layout_weight="1"
                    android:text="December"
                    android:textColor="@color/glucosio_text_light"
                    android:visibility="visible" />

                <ImageButton
                    android:id="@+id/fragment_overview_a1c_more"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:background="?android:attr/selectableItemBackground"
                    app:srcCompat="@drawable/ic_unfold_more_black_24dp" />
            </LinearLayout>
        </LinearLayout>

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="2px"
            android:background="#DADADA" />

        <TextView
            fontPath="fonts/lato-bold.ttf"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:text="@string/tab_tips"
            android:textColor="@color/glucosio_text" />

        <TextView
            android:id="@+id/random_tip_textview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="64dp"
            android:layout_marginTop="8dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:text="Always bring a banana to a party, Rose, bananas are good!"
            android:textColor="@color/glucosio_text" />


    <!--    <FrameLayout
            android:id="@+id/chci_fragment_holder"
            android:layout_width="match_parent"
            android:layout_gravity="bottom"
            android:layout_height="wrap_content" >
        </FrameLayout> -->

    </LinearLayout>
</ScrollView>

0 ответов

Другие вопросы по тегам