单击按钮时向android添加动态复选框
我刚开始开发一个简单的清单应用程序,其想法是我有一个EditText和一个按钮。当我输入文本并点击“添加”按钮时,我想让它做一个清单。 我已经设法让应用程序显示一个带有我输入文本的复选框,唯一的问题是我找不到一种方法将新的复选框显示在屏幕上 最烦人的是,我知道它为什么这么做,我只声明了一个名为“cb”的复选框,当然,当我点击回车键时,它总是会给“cb”赋值 如果有人能给我指出正确的方向,我将非常感激单击按钮时向android添加动态复选框,android,dynamic,checkbox,view,Android,Dynamic,Checkbox,View,我刚开始开发一个简单的清单应用程序,其想法是我有一个EditText和一个按钮。当我输入文本并点击“添加”按钮时,我想让它做一个清单。 我已经设法让应用程序显示一个带有我输入文本的复选框,唯一的问题是我找不到一种方法将新的复选框显示在屏幕上 最烦人的是,我知道它为什么这么做,我只声明了一个名为“cb”的复选框,当然,当我点击回车键时,它总是会给“cb”赋值 如果有人能给我指出正确的方向,我将非常感激 package com.pzayx.shoppinglist; import android.
package com.pzayx.shoppinglist;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ScrollView;
public class MainActivity extends Activity {
int i = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_dynamic_views);
/*
* Adds scrollview inside a linearlayout,
*setting up a edittext, a add button and a checkbox
*/
final CheckBox cb = new CheckBox(this);
ScrollView scrl = new ScrollView(this);
final LinearLayout lil = new LinearLayout(this);
lil.setOrientation(LinearLayout.VERTICAL);
scrl.addView(lil);
final EditText EDIT_TEXT = new EditText(this);
EDIT_TEXT.setText("");
lil.addView(EDIT_TEXT);
Button btn = new Button(this);
btn.setText("Add");
lil.addView(btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
String text = EDIT_TEXT.getText().toString();
EDIT_TEXT.setText("");
cb.setId(i);
cb.setText(text);
text = null;
lil.addView(cb);
i++;
} catch (Exception e) {
e.printStackTrace();
}
}
});
this.setContentView(scrl);
}
public boolean OnCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
尝试:
btn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
对于(int i=0;i<20;i++){
复选框cb=新复选框(getApplicationContext());
cb.setText(“我是动态的!”);
lil.addView(cb);
}
}
});
谢谢,我不得不插入;cb.setid(i);然后,它插入了更多的复选框,现在我得到了一些工作!
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
for(int i = 0; i < 20; i++) {
CheckBox cb = new CheckBox(getApplicationContext());
cb.setText("I'm dynamic!");
lil.addView(cb);
}
}
});