android - Android新添加的代码控件由原来的XML控件改变
问题描述
我想添加微调器,并且edittext
在我android activity
的上面button click
看起来与最初添加的xml file
. spinner
和edittext
字段在正确的button click
位置正确添加。
控件在 MainActivity.java 中添加了代码
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
productsIds++;
LinearLayout lv = findViewById(R.id.lnear_layout);
lv.addView(createLinearLayout());
}
public Spinner createProductSpinner() {
final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(Math.round(getResources().getDimension(R.dimen.product_width)), Math.round(getResources().getDimension(R.dimen.control_height)));
final Spinner spinner = new Spinner(MainActivity.this);
spinner.setLayoutParams(lparams);
spinner.setAdapter(productAdapter);
return spinner;
}
public EditText createQuantityEditText() {
final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(Math.round(getResources().getDimension(R.dimen.quantity_width)), Math.round(getResources().getDimension(R.dimen.control_height)));
final EditText editText = new EditText(MainActivity.this);
editText.setLayoutParams(lparams);
editText.setMovementMethod(new ScrollingMovementMethod());
editText.setHint("Quantity");
return editText;
}
public Spinner createUnitSpinner() {
final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(Math.round(getResources().getDimension(R.dimen.unit_width)), Math.round(getResources().getDimension(R.dimen.control_height)));
final Spinner spinner = new Spinner(MainActivity.this);
spinner.setLayoutParams(lparams);
spinner.setAdapter(productAdapter);
return spinner;
}
public LinearLayout createLinearLayout() {
final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
final LinearLayout subLayout = new LinearLayout(MainActivity.this);
subLayout.setOrientation(LinearLayout.HORIZONTAL);
subLayout.setLayoutParams(lparams);
subLayout.addView(createProductSpinner());
subLayout.addView(createQuantityEditText());
subLayout.addView(createUnitSpinner());
return subLayout;
}
});