1

Android アプリケーションで問題が発生しています。別のlinearlayout内にLinearLayoutsを追加する必要があります。インフレを利用しています。私はよりよく説明しようとしています。

 __________________________________________________
|                                                  |
|                                  BUTTON PLUS 1   |
|   __________________________________________     |
|   |                layout1   Button Plus 2  |    |
|   |    ______________btnRemove1________     |    |
|   |    |                       layout2 |    |    |
|   |    |                               |    |    |
|   |    |_____________btnRemove2________|    |    |
|   |_________________________________________|    |   
|                                                  |
|   __________________________________________     |
|   |             layout1  Button Plus 2      |    |
|   |    ______________btnRemove1________     |    |
|   |    |                       layout2 |    |    |
|   |    |                               |    |    |
|   |    |_____________btnRemove2________|    |    |
|   |_________________________________________|    |
|                                                  |
|__________________________________________________|

私の目的は次のとおりです。ボタン plus1 をクリックすると、layout1 が追加されます。ボタンplus2をクリックすると、レイアウト1内にレイアウト2が追加されます。私の問題は、これが複数回必要であり、ID が異なるレイアウトが必要なことです。

btnRemove1 をクリックすると、layout1 と layout2 を同時に削除する必要があります。btnRemove2 をクリックすると、layout2 を削除する必要があります。

これが私のコードです

 //Button plus 1    
      case R.id.se_ibAddAddressPostal:
        LayoutInflater inflaterAddressPostal = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout addressPostal = (LinearLayout)inflaterAddressPostal.inflate(R.layout.socio_form_structured_postal, null);
        LinearLayout lLayoutAddressPostal;
        lLayoutAddressPostal = (LinearLayout)findViewById(R.id.se_contentAdressPostal);
        lLayoutAddressPostal.addView(addressPostal);

        break;

    //Button plus 2
      case R.id.sfsp_ivMoreAddressPostal:
        ImageButton imbtMoreAddress = (ImageButton)findViewById(R.id.sfsp_ivMoreAddressPostal);
        imbtMoreAddress.setVisibility(imbtMoreAddress.INVISIBLE);

        LayoutInflater inflaterAddressPostal2 = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout addressPostal2 = (LinearLayout)inflaterAddressPostal2.inflate(R.layout.socio_form_structured_postal2,null);
        LinearLayout lLayoutAddressPostal2;
        lLayoutAddressPostal2 = (LinearLayout)findViewById(R.id.se_contentAdressPostal);
        lLayoutAddressPostal2.addView(addressPostal2);
        break;
4

2 に答える 2

0

可能な方法は、レイアウトとボタンを追加するときにタグ値を設定することです。タグに基づいてマップにレイアウトを配置します。次に、ボタンがクリックされたときにタグを使用して、マップからレイアウトを取得して削除します。タグは、UI には表示されない内部マーカーです。

于 2012-07-24T17:13:24.800 に答える
0

あなたが探しているのはExpandableListViewです。車輪を再発明する必要はありません。

于 2012-07-24T17:27:59.837 に答える