我想在单击按钮时创建一个复选框

时间:2019-04-08 18:28:15

标签: java android

我要这样做,以便每次有人在editText中键入内容并单击按钮时,文本都会出现。它在我的代码中做到了,但是我也想在它旁边添加一个复选框。每次按下按钮时如何添加复选框?

这是我在editText中键入test之后在模拟器中的外观:

https://gyazo.com/6b9a050976ecd2c4b509220263bbdce1

第二个问题是:当我写第二个待办事项时,它会覆盖最后一个待办事项,所以现在我只能有一个待办事项。为什么?

代码:

final TextView textViewPrint;    
Button btn_print;           
final EditText editTextType;    
textViewPrint = findViewById(R.id.print_text);           
btn_print = findViewById(R.id.button_add);             
editTextType = findViewById(R.id.test_textEdit);

btn_print.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                textViewPrint.setText(editTextType.getText().toString()) ; 
                editTextType.setText("");
            }
        });

2 个答案:

答案 0 :(得分:0)

膨胀后,可以通过编程方式添加到布局中。在您的LinearLayout中添加一个ID:

android:id ="@+id/layout"

然后在OnCreate中(在现有代码之后),获取对它的引用并根据需要添加控件。并将这些行添加到OnCreate中,例如:

LinearLayout l = (LinearLayout)findViewById(R.id.layout);
CheckBox cb = new CheckBox(this);
int lHeight = LinearLayout.LayoutParams.MATCH_PARENT;
int lWidth = LinearLayout.LayoutParams.WRAP_CONTENT;
l.addView(cb, new LinearLayout.LayoutParams(lHeight, lWidth));
setContentView(l);

答案 1 :(得分:0)

首先,您需要添加到LinearLayout布局

LinearLayout l = (LinearLayout)findViewById(R.id.layout);
btn_print.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                CheckBox cb = new CheckBox(this);
                LayoutParams lparams = new LayoutParams(
                      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
                cb.setLayoutParams(lparams);
                l.addView(cb);
            }
        });