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>
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);
}
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With