2

我有这个布局文件,其中包含用户应该有 1 到 3 个位置的用户位置的详细信息,具体取决于我需要添加 1 到 3 个位置表单的条件

在此处输入图像描述

谁能告诉我如何动态地将这个 xml 布局文件添加到其他布局文件中?

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:background="@drawable/container"
        android:padding="2dp"
        android:layout_below="@+id/upperBox"
        android:layout_margin="5dp"
        >
        <RelativeLayout 
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:background="@drawable/container_inner"
        android:padding="1dp"
        >

            <TableLayout
                android:layout_width="match_parent"
                android:layout_height="fill_parent"
                android:background="@color/white"
                android:orientation="vertical"
                android:scrollbars="vertical" >

                <TextView
                    style="@style/footerText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/tracking_settings" />

                <TableRow
                    android:id="@+id/tableRow1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/locationName"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/location_name" />

                    <EditText
                        android:id="@+id/editTextLocationName"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:inputType="text" >

                        <requestFocus />
                    </EditText>
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/address"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/address" />

                    <EditText
                        android:id="@+id/editextAddress"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:inputType="text" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/alertPref"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/alert_preference" />

                    <Spinner
                        android:id="@+id/spinnerAlertPref"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/alert_pref_arrays"
                        android:prompt="@string/alert_pref_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/frequency"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/frequency" />

                    <Spinner
                        android:id="@+id/spinnerFreq"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/freq_arrays"
                        android:prompt="@string/freq_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow5"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/TrackBetween"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/track_between" />

                    <Spinner
                        android:id="@+id/spinnerTimeFrom"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/time_arrays"
                        android:prompt="@string/time_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow6"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <Spinner
                        android:id="@+id/spinnerTimeFrom1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/am_pm_arrays"
                        android:prompt="@string/am_pm_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow7"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/to"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/to" />

                    <Spinner
                        android:id="@+id/spinnerTimeTo"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/time_arrays"
                        android:prompt="@string/time_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow8"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <Spinner
                        android:id="@+id/spinnerTimeTo1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/am_pm_arrays"
                        android:prompt="@string/am_pm_prompt" />
                </TableRow>

                <TextView
                    style="@style/footerText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/alert_settings" />

                <TableRow
                    android:id="@+id/tableRow9"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/sexOffenderIsWithin"
                        android:layout_width="100dp"
                        android:layout_height="wrap_content"
                        android:text="@string/sex_offender_is_within" />

                    <Spinner
                        android:id="@+id/spinnerSexOff"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/sex_offender_arrays"
                        android:prompt="@string/sex_offender_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow10"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/travelAwayFromLocation"
                        android:layout_width="100dp"
                        android:layout_height="wrap_content"
                        android:text="@string/travel_away_from_location" />

                    <Spinner
                        android:id="@+id/spinnerTravelAway"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/sex_offender_arrays"
                        android:prompt="@string/sex_offender_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow11"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/arriveAtLocation"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/arrive_at_location" />

                    <Spinner
                        android:id="@+id/spinnerArriveAt"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/yes_donttrack_arrays"
                        android:prompt="@string/yes_donttrack_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow12"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/travelByVehicle"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/travel_by_vehicle" />

                    <Spinner
                        android:id="@+id/spinnerTravelBy"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/yes_donttrack_arrays"
                        android:prompt="@string/yes_donttrack_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow13"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        android:id="@+id/phonStatus"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/phon_status" />

                    <Spinner
                        android:id="@+id/spinnerPhonStatus"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:entries="@array/phon_status_arrays"
                        android:prompt="@string/phon_status_prompt" />
                </TableRow>

                <TableRow
                    android:id="@+id/tableRow14"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <TextView
                        style="@style/footerText"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/cancel" />

                    <TextView
                        style="@style/footerText"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="right"
                        android:text="@string/submit" />
                </TableRow>
            </TableLayout>

            </RelativeLayout>
            </RelativeLayout>
4

3 回答 3

2

这个布局文件通过 LayoutInflater 在另一个布局中。

假设,您想在主布局中添加此布局。所以,在主布局中采用线性布局,在主布局中采用这个列表布局mainlayout.add(view),这view是 LayoutInflater 视图。

例子 :

private View view;
    view = getLayoutInflater().inflate(R.layout.image_sub_layout,
                null);
     topicLinearLayout.addView(view); // main Layout Linear layout

谢谢。

于 2012-10-24T10:01:49.013 回答
2

假设您的第一个活动带有main.xml,其中是一个空的线性布局。

通过LayoutInflater你可以得到这样的布局

linearLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.main, null);
layoutToAdd = (LinearLayout) getLayoutInflater().inflate(R.layout.layout_to_add, null);

然后,您只需将所需的 xml-layout-file 添加到该 linearLayout (对于其他类型的布局,单Views 或ViewGroups 也是如此)。

   linearLayout.add(layoutToAdd);

或者正如 Abdul 建议的那样,您将所需的布局“投射”到视图中。

于 2012-10-24T10:04:19.243 回答
0

根据我的理解,您希望布局包含 1-3 个位置表单,具体取决于您要实现的条件。如果您确定要处理从 UI 输入的位置数量,则只需添加相同的用不同的 id 与Visibility to布局三次GONE。在从 UI 处理它时,您可以view.VISIBLE根据 UI 线程中的条件更改布局的可见性。

您可以插入 scrollView 的代码以使您的主布局可滚动以供最终用户使用。

于 2012-10-24T10:08:18.543 回答