2016-04-06 12 views
1

私はクリックすると他の下に相対レイアウトを追加する必要があるボタンを持つフラグメントを持っています。ボタンを何度もクリックすると、同じレイアウトが前のレイアウトの下に追加されなければなりません。 hotel_search.xmlAndroid - ボタンのクリックで他のプログラム下に同じrelativelayoutを追加

id(@+id/addroom)たボタンがクリックされたとき、それがhotel_room_fragmentで同じレイアウトをクリックするとhotel_room_fragmentにおけるレイアウトID @+id/roomlayoutと再度でRelativeLayout下に追加されなければならないが、以前に追加1の下に含まれていなければなりません。

また、閉じるボタンをクリックしたときにレイアウトを削除する方法を教えてください。

hotel_search.xml:

<RelativeLayout 
        android:id="@+id/roomlayout" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:background="@android:color/transparent"> 


        <TextView 
         android:id="@+id/rooms" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" /> 

        <TextView 
         android:id="@+id/adults" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_below="@+id/rooms" 

         android:layout_toEndOf="@+id/button3" 
         android:layout_toRightOf="@+id/button3" 
         android:text="Adults" 
         android:textColor="#BDBDBD" /> 

        <Button 
         android:id="@+id/button3" 
         android:layout_width="30dp" 
         android:layout_height="30dp" 
         android:layout_below="@+id/adults" 
         android:layout_marginLeft="18dp" 
         android:layout_marginStart="18dp" 
         android:layout_marginTop="10dp" 
         android:layout_toEndOf="@+id/rooms" 
         android:layout_toRightOf="@+id/rooms" 
         android:background="#90006064" 
         android:text="-" 
         android:textColor="#fff" 
         android:textSize="22sp" /> 

        <Button 
         android:id="@+id/button4" 
         android:layout_width="30dp" 
         android:layout_height="30dp" 
         android:layout_alignLeft="@+id/adults" 
         android:layout_alignStart="@+id/adults" 
         android:layout_alignTop="@+id/button3" 
         android:layout_marginLeft="37dp" 

         android:layout_marginStart="37dp" 
         android:background="#90006064" 
         android:text="+" 
         android:textColor="#fff" 
         android:textSize="18sp" /> 

        <TextView 
         android:id="@+id/children" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_above="@+id/button3" 
         android:layout_alignParentEnd="true" 
         android:layout_alignParentRight="true" 
         android:layout_marginEnd="38dp" 
         android:layout_marginRight="38dp" 
         android:text="Children" 
         android:textColor="#BDBDBD" /> 

        <Button 
         android:id="@+id/button6" 
         android:layout_width="30dp" 
         android:layout_height="30dp" 
         android:layout_marginEnd="13dp" 

         android:layout_marginRight="13dp" 
         android:background="#90006064" 
         android:text="+" 
         android:textColor="#fff" 
         android:textSize="18sp" 
         android:layout_alignParentBottom="true" 
         android:layout_alignParentRight="true" 
         android:layout_alignParentEnd="true" /> 

        <Button 
         android:id="@+id/button5" 
         android:layout_width="30dp" 
         android:layout_height="30dp" 
         android:background="#90006064" 
         android:text="-" 
         android:textColor="#fff" 
         android:textSize="22sp" 
         android:layout_alignParentBottom="true" 
         android:layout_toLeftOf="@+id/button6" 
         android:layout_toStartOf="@+id/button6" 
         android:layout_marginRight="41dp" 
         android:layout_marginEnd="41dp" /> 
       </RelativeLayout> 
<View 
      android:id="@+id/view3" 
      android:layout_width="100dp" 
      android:layout_height="0.5dp" 
      android:layout_marginTop="20dp" 
      android:background="#00838F" 
      android:foregroundGravity="center" 
      android:layout_below="@+id/scrollView" 
      android:layout_toRightOf="@+id/checkin" 
      android:layout_toEndOf="@+id/checkin"></View> 
<Button 
    android:layout_width="wrap_content" 
    android:layout_height="30dp" 
    android:text="Add Room" 
    android:id="@+id/addroom" 
    android:textColor="#fff" 
    android:layout_marginLeft="20dp" 
    android:background="#50000000" 
    android:layout_marginTop="20dp" 
    android:layout_below="@+id/view3"/> 

がhotel_room_fragment.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/roomlayout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@android:color/transparent"> 


    <TextView 
     android:id="@+id/rooms" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <TextView 
     android:id="@+id/adults" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/rooms" 

     android:layout_toEndOf="@+id/button3" 
     android:layout_toRightOf="@+id/button3" 
     android:text="Adults" 
     android:textColor="#BDBDBD" /> 

    <Button 
     android:id="@+id/button3" 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:layout_below="@+id/adults" 
     android:layout_marginLeft="18dp" 
     android:layout_marginStart="18dp" 
     android:layout_marginTop="10dp" 
     android:layout_toEndOf="@+id/rooms" 
     android:layout_toRightOf="@+id/rooms" 
     android:background="#90006064" 
     android:text="-" 
     android:textColor="#fff" 
     android:textSize="22sp" /> 

    <Button 
     android:id="@+id/button4" 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:layout_alignLeft="@+id/adults" 
     android:layout_alignStart="@+id/adults" 
     android:layout_alignTop="@+id/button3" 
     android:layout_marginLeft="37dp" 

     android:layout_marginStart="37dp" 
     android:background="#90006064" 
     android:text="+" 
     android:textColor="#fff" 
     android:textSize="18sp" /> 

    <TextView 
     android:id="@+id/children" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/button3" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentRight="true" 
     android:layout_marginEnd="38dp" 
     android:layout_marginRight="38dp" 
     android:text="Children" 
     android:textColor="#BDBDBD" /> 

    <Button 
     android:id="@+id/button6" 
     android:layout_width="30dp" 
     android:layout_height="30dp" 

     android:background="#90006064" 
     android:text="+" 
     android:textColor="#fff" 
     android:textSize="18sp" 

     android:layout_marginRight="13dp" 
     android:layout_marginEnd="13dp" 
     android:layout_alignTop="@+id/button5" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" /> 

    <Button 
     android:id="@+id/button5" 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:background="#90006064" 
     android:text="-" 
     android:textColor="#fff" 
     android:textSize="22sp" 
     android:layout_alignTop="@+id/button4" 
     android:layout_toLeftOf="@+id/children" 
     android:layout_toStartOf="@+id/children" /> 
</RelativeLayout> 
+0

Javaコードを試してみましたか? –

+0

これはListViewを使用することをお勧めします。 –

答えて

0

私はあなただけを指摘し、このためのListView/RecyclerViewを使用する必要があります善意に同意します。

とにかく、あなたのonClickメソッドでは、いくつかのランダムなint(ハードコードされたものを使用することはできません)を使用して新しいRelativeLayout()コールsetIDを作成し、private int lastIdのようなクラスフィールドに格納します。

これが完了したら、LayoutParams.addRule()呼び出しで、R.id.roomlayoutをlastIdフィールドに置き換えます。

あなたはそれを持っています。

関連する問題