3

I want to inflate Relative Layout in a Relative Layout .But it is inflating it only one time after that it is not inflating please help me what is the problem in my code.

Activity Code

LayoutInflater inflater = (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout main = (RelativeLayout)findViewById(R.id.passenger_details_layout);

        for(int i=0;i<9;i++){           
            View view = getLayoutInflater().inflate(R.layout.passenger_details_layout, main,false);
            main.addView(view);
        }

After @Ritaban Suggestion and Help this what i have done

Activity Code:

LayoutInflater inflater;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_itineary_page);
        inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        /*
         * LayoutInflater inflater = (LayoutInflater) getBaseContext()
         * .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         */
        LinearLayout main = (LinearLayout) findViewById(R.id.main_passenger_details_layout);

        for (int i = 0; i < 2; i++) {
            inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            RelativeLayout layout = (RelativeLayout) inflater.inflate(
                    R.layout.passenger_details_layout, main, false);
            main.addView(layout, i);
        }
        RelativeLayout lay = (RelativeLayout) findViewById(R.id.thingstoshowbelow);
        RelativeLayout.LayoutParams params = (android.widget.RelativeLayout.LayoutParams) lay
                .getLayoutParams();
        params.addRule(RelativeLayout.BELOW, R.id.main_passenger_details_layout);
        lay.setLayoutParams(params);
        lay.setVisibility(View.VISIBLE);
    }

Main.XML

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_scroll_view"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

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

        <ImageView
            android:id="@+id/imgLogo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginRight="5dip"
            android:padding="3dip"
            android:src="@drawable/logo_demo" />

        <ScrollView
            android:id="@+id/main_scroll_view"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/imgLogo" >

            <RelativeLayout
                android:id="@+id/main_ScrollView_Container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <RelativeLayout
                    android:id="@+id/trip_details_main"
                    android:layout_width="fill_parent"
                    android:layout_height="70dp"
                    android:background="@drawable/flight_detail"
                    android:gravity="center_vertical" >

                    <TextView
                        android:id="@+id/trip_locations"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentTop="true"
                        android:layout_marginLeft="5dp"
                        android:text="Delhi to Hydrabad"
                        android:textColor="#FFFFFF"
                        android:textSize="20sp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/depart_date"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/trip_locations"
                        android:layout_marginLeft="5dp"
                        android:text="18 Sep 2013"
                        android:textColor="#FFFFFF"
                        android:textSize="15sp" />

                    <ImageView
                        android:id="@+id/imgRight"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:layout_marginTop="12dp"
                        android:src="@drawable/cal" />
                </RelativeLayout>

                <RelativeLayout
                    android:id="@+id/travel_itin_header"
                    android:layout_width="fill_parent"
                    android:layout_height="40dp"
                    android:layout_below="@+id/trip_details_main"
                    android:layout_marginTop="2dp"
                    android:background="@drawable/gray"
                    android:gravity="center_vertical" >

                    <TextView
                        android:id="@+id/itinerary_text"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentTop="true"
                        android:layout_marginLeft="90dp"
                        android:layout_marginTop="5dp"
                        android:text="Itinerary Details"
                        android:textColor="#FFFFFF"
                        android:textSize="15sp"
                        android:textStyle="bold" />
                </RelativeLayout>

                <LinearLayout
                    android:id="@+id/main_passenger_details_layout"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/travel_itin_header"
                    android:layout_marginTop="2dp"
                    android:orientation="vertical" >
                </LinearLayout>

                <RelativeLayout
                    android:id="@+id/thingstoshowbelow"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/passenger_details_layout"
                    android:visibility="gone" >

                    <RelativeLayout
                        android:id="@+id/depart_flight_details_duration"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentTop="true"
                        android:layout_marginTop="2dp"
                        android:background="@drawable/small_search" >

                        <ImageView
                            android:id="@+id/flight_depart_image"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentLeft="true"
                            android:layout_alignParentTop="true"
                            android:padding="3dip"
                            android:src="@drawable/dep" />

                        <TextView
                            android:id="@+id/depart_return_location"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignTop="@+id/flight_depart_image"
                            android:layout_marginLeft="12dp"
                            android:layout_marginTop="10dp"
                            android:layout_toLeftOf="@+id/arrow_image"
                            android:layout_toRightOf="@+id/flight_depart_image"
                            android:text="Delhi to Hydrabad"
                            android:textColor="#FFFFFF"
                            android:textSize="15sp"
                            android:textStyle="bold" />

                        <TextView
                            android:id="@+id/one_way_date_and_duration_details"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/depart_return_location"
                            android:layout_marginLeft="12dp"
                            android:layout_toRightOf="@+id/flight_depart_image"
                            android:text="18 Sep 2013 09:45 | Duration 2:45"
                            android:textColor="#FFFFFF"
                            android:textSize="12sp" />

                        <ImageView
                            android:id="@+id/arrow_image"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignBottom="@+id/depart_return_location"
                            android:layout_alignParentRight="true"
                            android:layout_marginRight="12dp"
                            android:layout_marginTop="10dp"
                            android:src="@drawable/arrow2" />
                    </RelativeLayout>

                    <RelativeLayout
                        android:id="@+id/travel_agency_header"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/depart_flight_details_duration"
                        android:layout_marginTop="2dp"
                        android:background="@drawable/travelagency_bg" >

                        <TextView
                            android:id="@+id/travel_agency_text"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentTop="true"
                            android:layout_marginLeft="10dp"
                            android:layout_marginTop="5dp"
                            android:text="Travel Agency"
                            android:textColor="#676767"
                            android:textSize="15sp"
                            android:textStyle="bold" />
                    </RelativeLayout>

                    <RelativeLayout
                        android:id="@+id/tarvel_agency_details"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/travel_agency_header"
                        android:layout_marginTop="2dp" >

                        <ImageView
                            android:id="@+id/agent_logo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:src="@drawable/uniglobe_logo" />

                        <ImageView
                            android:id="@+id/mobile_logo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="8dp"
                            android:layout_marginTop="10dp"
                            android:layout_toRightOf="@+id/agent_logo"
                            android:src="@drawable/mobile" />

                        <ImageView
                            android:id="@+id/at_logo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="10dp"
                            android:layout_toRightOf="@+id/mobile_logo"
                            android:src="@drawable/at" />

                        <ImageView
                            android:id="@+id/email_logo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="10dp"
                            android:layout_toRightOf="@+id/at_logo"
                            android:src="@drawable/at" />

                        <TextView
                            android:id="@+id/travel_agency_address"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/agent_logo"
                            android:layout_marginLeft="5dp"
                            android:text="XXXXXXXXXXXXXXXXXXXX"
                            android:textColor="#676767" />

                        <TextView
                            android:id="@+id/travel_agency_fax"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/travel_agency_address"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="2dp"
                            android:text="Fax : 2345678"
                            android:textColor="#676767" />
                    </RelativeLayout>

                    <RelativeLayout
                        android:id="@+id/genral_remarks_header"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/tarvel_agency_details"
                        android:layout_marginTop="2dp"
                        android:background="@drawable/general_remar" >

                        <TextView
                            android:id="@+id/genral_remark_header_text"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_alignParentTop="true"
                            android:layout_marginLeft="10dp"
                            android:layout_marginTop="5dp"
                            android:text="Genral Remarks"
                            android:textColor="#676767"
                            android:textSize="15sp"
                            android:textStyle="bold" />
                    </RelativeLayout>

                    <RelativeLayout
                        android:id="@+id/genral_remark_text_layout"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/genral_remarks_header"
                        android:layout_marginTop="2dp" >

                        <TextView
                            android:id="@+id/genral_remark_text"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:gravity="center_vertical"
                            android:text="HAVE A NICE FLIGHT"
                            android:textColor="#676767" />
                    </RelativeLayout>
                </RelativeLayout>
            </RelativeLayout>
        </ScrollView>
    </RelativeLayout>

</ScrollView>
Pooja Dubey
  • 683
  • 2
  • 14
  • 34

5 Answers5

3

Use Linear layout as the parent View and give android:orientation = "vertical". Relative Layout is a a Layout where the positions of the children are described in relation to each other or to the parent.If you want to use relative layout then you have to use the addrule property or else all the child will be drawn over the previous child.

For ex :

<Linearlayout
            android:id="@+id/passenger_details_layout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/travel_itin_header"
            android:layout_marginTop="2dp"
            android:gravity="center_vertical"
            android:orientation = "vertical" >
        </Linearlayout>

And in activity:

  LayoutInflater inflater = (LayoutInflater)getBaseContext()
                                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
           LinearLayout main =(LinearLayout)findViewById(R.id.passenger_details_layout);              

    for(int i=0;i<9;i++){           
        View view = inflater.inflate(R.layout.passenger_details_layout, null);
        main.addView(view);
    }
Ritaban
  • 763
  • 4
  • 8
  • so how can i do this please help me i am new in android .Please tell what changes i have to make – Pooja Dubey Sep 19 '13 at 12:19
  • same i have done but all the ddata is mixed up in each other and overlapped – Pooja Dubey Sep 19 '13 at 12:24
  • remove the `android:gravity="center_vertical"` tag and also do `main.addView(view,i);` instead of `main.addView(view);` `android:gravity` is used for alligning the texts inside your view. for alligning the layout use `android:layout_gravity"center_vertical"` – Ritaban Sep 19 '13 at 12:26
  • i have updated my question with complete xml in that in main_passenger_details_layout i want to inflate – Pooja Dubey Sep 19 '13 at 12:36
1

Okay this is your solution copy and paste it in your main xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<ImageView
    android:id="@+id/imgLogo"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="5dip"
    android:padding="3dip"
    android:src="@drawable/ic_launcher" />

<ScrollView
    android:id="@+id/main_scroll_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/imgLogo" >

    <RelativeLayout
        android:id="@+id/main_ScrollView_Container"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <RelativeLayout
            android:id="@+id/trip_details_main"
            android:layout_alignParentTop="true"
            android:layout_width="fill_parent"
            android:layout_height="70dp"
            android:background="@android:color/holo_blue_dark"
            android:gravity="center_vertical" >

            <TextView
                android:id="@+id/trip_locations"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="5dp"
                android:text="Delhi to Hydrabad"
                android:textColor="#FFFFFF"
                android:textSize="20sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/depart_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/trip_locations"
                android:layout_marginLeft="5dp"
                android:text="18 Sep 2013"
                android:textColor="#FFFFFF"
                android:textSize="15sp" />

            <ImageView
                android:id="@+id/imgRight"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginTop="12dp"
                android:src="@android:color/holo_blue_bright" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/travel_itin_header"
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:layout_below="@+id/trip_details_main"
            android:layout_marginTop="2dp"
            android:background="@android:color/holo_blue_light"
            android:gravity="center_vertical" >

            <TextView
                android:id="@+id/itinerary_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="90dp"
                android:layout_marginTop="5dp"
                android:text="Itinerary Details"
                android:textColor="#FFFFFF"
                android:textSize="15sp"
                android:textStyle="bold" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/Relative1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/travel_itin_header"
            android:layout_marginTop="2dp"
            android:orientation="vertical" >

            <LinearLayout
                android:id="@+id/main_passenger_details_layout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="2dp"
                android:orientation="vertical" >
            </LinearLayout>
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/depart_flight_details_duration"
            android:layout_width="wrap_content"
            android:layout_below="@+id/Relative1"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="2dp"
            android:background="@android:color/holo_blue_bright" >

            <ImageView
                android:id="@+id/flight_depart_image"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:padding="3dip"
                android:src="@android:color/holo_blue_bright" />

            <TextView
                android:id="@+id/depart_return_location"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignTop="@+id/flight_depart_image"
                android:layout_marginLeft="12dp"
                android:layout_marginTop="10dp"
                android:layout_toLeftOf="@+id/arrow_image"
                android:layout_toRightOf="@+id/flight_depart_image"
                android:text="Delhi to Hydrabad"
                android:textColor="#FFFFFF"
                android:textSize="15sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/one_way_date_and_duration_details"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/depart_return_location"
                android:layout_marginLeft="12dp"
                android:layout_toRightOf="@+id/flight_depart_image"
                android:text="18 Sep 2013 09:45 | Duration 2:45"
                android:textColor="#FFFFFF"
                android:textSize="12sp" />

            <ImageView
                android:id="@+id/arrow_image"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/depart_return_location"
                android:layout_alignParentRight="true"
                android:layout_marginRight="12dp"
                android:layout_marginTop="10dp"
                android:src="@android:color/holo_blue_bright" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/travel_agency_header"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/depart_flight_details_duration"
            android:layout_marginTop="2dp"
            android:background="@android:color/holo_blue_bright" >

            <TextView
                android:id="@+id/travel_agency_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="5dp"
                android:text="Travel Agency"
                android:textColor="#676767"
                android:textSize="15sp"
                android:textStyle="bold" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/tarvel_agency_details"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/travel_agency_header"
            android:layout_marginTop="2dp" >

            <ImageView
                android:id="@+id/agent_logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:src="@android:color/holo_blue_bright" />

            <ImageView
                android:id="@+id/mobile_logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="8dp"
                android:layout_marginTop="10dp"
                android:layout_toRightOf="@+id/agent_logo"
                android:src="@android:color/holo_blue_bright" />

            <ImageView
                android:id="@+id/at_logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="10dp"
                android:layout_toRightOf="@+id/mobile_logo"
                android:src="@android:color/holo_blue_bright" />

            <ImageView
                android:id="@+id/email_logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="10dp"
                android:layout_toRightOf="@+id/at_logo"
                android:src="@android:color/holo_blue_bright" />

            <TextView
                android:id="@+id/travel_agency_address"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/agent_logo"
                android:layout_marginLeft="5dp"
                android:text="XXXXXXXXXXXXXXXXXXXX"
                android:textColor="#676767" />

            <TextView
                android:id="@+id/travel_agency_fax"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/travel_agency_address"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="2dp"
                android:text="Fax : 2345678"
                android:textColor="#676767" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/genral_remarks_header"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tarvel_agency_details"
            android:layout_marginTop="2dp"
            android:background="@android:color/holo_blue_bright" >

            <TextView
                android:id="@+id/genral_remark_header_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="5dp"
                android:text="Genral Remarks"
                android:textColor="#676767"
                android:textSize="15sp"
                android:textStyle="bold" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/genral_remark_text_layout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/genral_remarks_header"
            android:layout_marginTop="2dp" >

            <TextView
                android:id="@+id/genral_remark_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:gravity="center_vertical"
                android:text="HAVE A NICE FLIGHT"
                android:textColor="#676767" />
        </RelativeLayout>
    </RelativeLayout>
</ScrollView>

and for activity put this

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    LinearLayout main = (LinearLayout) findViewById(R.id.main_passenger_details_layout);

    for (int i = 0; i < 9; i++) {
        LayoutInflater inflater = (LayoutInflater) getApplicationContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View row = inflater.inflate(R.layout.activity_second, main, false);
        main.addView(row);
    }
}
Rajesh
  • 2,618
  • 19
  • 25
1

LayoutInflater is working and nine time layout is adding. But you cannot see the all views since all Layouts are having adding to another RelativeLayout so they are adding one over the other.

So inorder to overcome that use LinearLayout with orientation vertical instead of Relativelayout in parent view

NARESH REDDY
  • 682
  • 4
  • 11
1

Every time you add view to that Relative Layout it is being added at the same position..like stack of views..u can't see the below view..better try LinearLayout .. views will be added horizontally or vertically..so u can see that nine views..

Manivannan
  • 1,630
  • 1
  • 11
  • 14
1
// Replace this line
 View view = getLayoutInflater().inflate(R.layout.passenger_details_layout, main,false);
                                             to
 View view = getLayoutInflater().inflate(R.layout.passenger_details_layout, null);                             
Haresh Chhelana
  • 24,720
  • 5
  • 57
  • 67
  • I have update my question with complete code in which passenger_details_layout id is there in that i am trying to inflate .Please see that – Pooja Dubey Sep 19 '13 at 12:33