我对 android 很陌生,并尝试使用没有 xml 的 android api 水平放置元素。
我想要做的是水平放置 RadioButtons 和 EditText 。就像是:
R-----E
R-----E
我试过这样的代码:
RadioGroup rg = new RadioGroup(this); //create the RadioGroup
rg.setOrientation(RadioGroup.VERTICAL);//or RadioGroup.VERTICAL
for(Map.Entry<String,String> entry : storedCards.entrySet())
{
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
EditText ed = new EditText(this);
RadioButton rb = new RadioButton(this);
rb.setId(counter++);
lp2.addRule(RelativeLayout.RIGHT_OF,rb.getId());
ed.setLayoutParams(lp2);
rg.addView(rb); //the RadioButtons are added to the radioGroup instead of the layout
rb.setText(entry.getKey());
relativeLayout.addView(ed);
}
这行不通。但这就是我想要做的:首先,我使用counter
变量为每个单选按钮设置 id,并尝试使用以下方法在该单选按钮的右侧站点上设置 edittext 视图:
lp2.addRule(RelativeLayout.RIGHT_OF,rb.getId());
但我没有得到正确的结果。我只得到这样的:
ER
R
一切EditText
都在重叠。我在哪里犯错误?
提前致谢。