Dynamically add Edittext to a relative layout unde

2019-09-15 03:02发布

I am trying to add an editText dynamically to a relative layout. the layout contains an editText already. I need to add the new editText below the existing one.

EditText designation1 = new EditText(context);
designation1.setHint("designation");
designation1.setSingleLine(true);

and my layout is

layoutExp = 
    (RelativeLayout) childView.findViewById(R.id.relative_layout_edit_exp);

and my existing edit Text is

designation = (EditText)childView.findViewById(R.id.editTextDesignatn);

2条回答
我想做一个坏孩纸
2楼-- · 2019-09-15 03:33

It will be possible if You set for example a LinearLayout under Your existing EditText. Give an ID to this LinearLayout and then You could put Your dynamic EditText to this LinearLayout like

    YourLinearLayout.addView(YourDynamicEditText);
查看更多
Anthone
3楼-- · 2019-09-15 03:47

You need to use RelativeLayout.LayoutParams and specifiy the relative position with the addRule(RelativeLayout.BELOW, ...) (this is the programmatic equivalent for android:below XML attribute):

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.editTextDesignatn);
layoutExp.addView(designation1, params);
查看更多
登录 后发表回答