Domanda

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>
È stato utile?

Soluzione

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);
    }

Altri suggerimenti

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

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..

// 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);                             

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);
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top