0

特定のビューをrelativeLayoutに動的に追加するこのコードがあります。問題は、コードで上記の機能を使用しているにもかかわらず、すべてのビューが互いに重なっているということです。

date=(EditText)findViewById(R.id.Date);
    save=(Button)findViewById(R.id.Save);
    save.setText("Confirm Purchase");
    container=(RelativeLayout)findViewById(R.id.container);

    items[no]=new AutoCompleteTextView(this);
    RelativeLayout.LayoutParams p1=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    p1.addRule(RelativeLayout.ALIGN_PARENT_START);
    items[no].setId(id++);
    container.addView(items[no],p1);
    items[no].setHint("Enter Item");

    quants[no]=new EditText(this);
    RelativeLayout.LayoutParams p2=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    p2.addRule(RelativeLayout.RIGHT_OF, items[no].getId());
    quants[no].setId(id++);
    container.addView(quants[no],p2);
    quants[no].setHint("Quantity");

    rates[no]=new EditText(this);
    RelativeLayout.LayoutParams p3=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    p3.addRule(RelativeLayout.RIGHT_OF, quants[no].getId());
    rates[no].setId(id++);
    container.addView(rates[no], p3);
    rates[no].setHint("Rates");

    totals[no]=new TextView(this);
    RelativeLayout.LayoutParams p4=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    p4.addRule(RelativeLayout.RIGHT_OF, rates[no].getId());
    container.addView(totals[no], p4);
    totals[no].setText("Amount");

PlZ は私に XML でそれを行うように頼まないでください。長いコードの一部です。 スクリーンショット

XML:

   <ScrollView android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_weight="2">

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



  </RelativeLayout>

</ScrollView>
4

2 に答える 2

0

を使用する代わりに、新しく追加されたアイテムの相対的な位置を考えずにリラックスRelativeLayoutできる を使用してみてください。プロジェクトに適した向きで要素を表示するには、プロパティをLinearLayout割り当てるLinearLayoutだけですorientation

于 2013-08-14T07:27:29.157 に答える