【问题标题】:Calling of another XML by View and Layout通过视图和布局调用另一个 XML
【发布时间】:2013-07-30 10:33:24
【问题描述】:

我想在我的活动中调用另一个 XML 的每个主体,我都调用了我的主 xml,如下所示

      setContentView(R.layout.main);    

我的xml文件如下-

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/appbg"
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/ll2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <!-- listview -->

    <ImageView
        android:id="@+id/img2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:contentDescription="@drawable/logo12"
        android:src="@drawable/logo12" />

    <LinearLayout
        android:id="@+id/homeLin"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:gravity="right" >

        <Button
            android:id="@+id/btnCart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:background="@drawable/cart_icon" />

        <Button
            android:id="@+id/btnHome"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:background="@drawable/home" />
    </LinearLayout>
</RelativeLayout>

<LinearLayout
    android:id="@+id/searchLin"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:orientation="horizontal" >

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/etSearch"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="@string/search"
            android:textColor="@color/Black"
            android:textSize="15sp" >

            <requestFocus />
        </EditText>

        <ImageView
            android:id="@+id/cross1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right|center_vertical"
            android:layout_marginRight="5dp"
            android:contentDescription="@drawable/search"
            android:src="@drawable/search" />
    </FrameLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/linSortby"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/tvsortby"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/sortby"
        android:textColor="@color/Blue"
        android:textSize="13sp" />

    <TextView
        android:id="@+id/tvPriceLH"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/priceLH"
        android:textColor="@color/Blue"
        android:textSize="13sp" />

    <TextView
        android:id="@+id/tvPriceHL"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="4dp"
        android:text="@string/priceHL"
        android:textColor="@color/Blue"
        android:textSize="13sp" />
</LinearLayout>

<LinearLayout
    android:id="@+id/linPagingupper"
    android:layout_width="fill_parent"
    android:layout_height="35dp"
    android:layout_marginTop="5dp"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/linPaging"
        android:layout_width="280dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imgPrev"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="2dp"
            android:contentDescription="@drawable/prev"
            android:src="@drawable/prev" />

        <TextView
            android:id="@+id/tv1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:background="@drawable/buttonbackground"
            android:text="@string/n1"
            android:textColor="@color/Blue"
            android:textSize="12sp" />

        <TextView
            android:id="@+id/tv2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:background="@drawable/buttonbackground"
            android:text="@string/n2"
            android:textColor="@color/Blue"
            android:textSize="12sp" />

        <TextView
            android:id="@+id/tv3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:background="@drawable/buttonbackground"
            android:text="@string/n3"
            android:textColor="@color/Blue"
            android:textSize="12sp" />

        <TextView
            android:id="@+id/tv4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:background="@drawable/buttonbackground"
            android:text="@string/n4"
            android:textColor="@color/Blue"
            android:textSize="12sp" />

        <TextView
            android:id="@+id/tv5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:background="@drawable/buttonbackground"
            android:text="@string/n5"
            android:textColor="@color/Blue"
            android:textSize="12sp" />
        <!-- button -->

        <ImageView
            android:id="@+id/imgNext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="2dp"
            android:contentDescription="@drawable/next"
            android:src="@drawable/next" />
    </LinearLayout>

    <TextView
        android:id="@+id/test"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/n1"
        android:textColor="@color/white"
        android:textSize="12sp" />
</LinearLayout>

<LinearLayout
    android:id="@+id/listViewResult"
    android:layout_width="fill_parent"
    android:layout_height="320dp"
    android:layout_marginTop="10dp"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp" />
</LinearLayout>

<LinearLayout
    android:id="@+id/linBottom"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bluegrad"
    android:gravity="bottom"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imgContact"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:contentDescription="@drawable/contact"
        android:src="@drawable/contact" />

    <LinearLayout
        android:id="@+id/bottomLin"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right" >

        <ImageView
            android:id="@+id/imgHome"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dp"
            android:contentDescription="@drawable/home"
            android:src="@drawable/home" />
    </LinearLayout>
   </LinearLayout>

     <LinearLayout
    android:id="@+id/add_other_xml"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

       </LinearLayout>

         </LinearLayout>

我想通过以下代码调用另一个活动-

 LinearLayout lin_lay_add_paynow =                                                   
                                  (LinearLayout)findViewById(R.id.add_other_xml);
    View pay_now_view = getLayoutInflater().inflate(R.layout.pay_now_btn, null);
    lin_lay_add_paynow.addView(pay_now_view);
    TextView btn_pay_now = (TextView) pay_now_view.findViewById(R.id.btn_paynow);
    btn_pay_now.setText("mlsdmlsm");

我的 pay_now_btn.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"
android:orientation="vertical" >

<TextView
    android:id="@+id/btn_paynow"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp" />

问题是我做的每一件事都是正确的。那为什么我的文本视图没有出现。没有错误没有例外然后我无法看到我的 pay_now_btn.xml 文本视图 在此先感谢大家。

【问题讨论】:

  • 您必须将内容设置为活动。您已设置 main.xml 在 main.xml 中有一个布局线性或相对布局,并将膨胀的视图添加到线性布局或相对布局。
  • 您必须在 main.xml 的任何布局中添加 pay_now_view。
  • 感谢您在 32 秒内的回复。我没有得到您想说的内容...main.xml 是我的父布局。所以我打电话给它。问题不在于 main.xml
  • @selva 非常感谢.. 你会发布更多代码吗?\
  • @BlueGreen 我将其发布为明确的答案。

标签: android view layout-inflater


【解决方案1】:

你有setContentView(R.layout.main)

你正在夸大视图。但是膨胀的视图并没有添加到布局中。

在您的main.xml 中有另一个LinearLayout。将此线性布局放置到所需位置,也可以使用Relativelayout

onCreate初始化它

     LinearLayout ll = LinearLayout findViewById(R.id.ll);

现在将膨胀的视图添加到线性布局

     ll.addView(pay_now_view);

编辑:

您可以将 infalted 视图作为页脚添加到列表视图中

     list.addFooterView(pay_now_view );

【讨论】:

  • 我试过这个,但它不适合我。我真的厌倦了这样一个愚蠢的问题。
  • @BlueGreen 我看不出它为什么不起作用。通过编辑问题发布您更新的 xml 和代码
  • @BlueGreen 你有这个LinearLayout lin_lay_add_paynow = 应该是LinearLayout lin_lay_add_paynow = LinearLayout findViewById(R.id.add_other_xml);
  • @BlueGreen 使用线性布局的 id 来初始化线性布局。
  • @BlueGreen 你的 LinearLayout 初始化是错误的,应该是LinearLayout lin_lay_add_paynow = LinearLayout findViewById(R.id.add_other_xml)。请更新它。我从上到下看过你的代码。
【解决方案2】:

您尚未将视图添加到 main.xml 中的布局中

在您的main.xml 中创建一个布局 在你的代码中

LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
layout.addView(pay_now_view);

希望这可行。如果您遇到任何问题,请告诉我

代码:

在关闭最后一个标签之前将其添加到 main.xml 的底部

<LinearLayout
    android:id="@+id/layout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp" >
</LinearLayout>

inflating 和 setText 后在你的 Activity 中:

LinearLayout layout = (LinearLayout) findViewById(R.id.layout); 
layout.addView(pay_now_view);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 2015-06-21
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    相关资源
    最近更新 更多