我已经以编程方式创建了动态编辑文本。在自定义对话框窗口中,您可以看到编辑文本代码。
我需要的:
例如:如果输入编辑文本值为3,那么将创建三个编辑文本。我唯一的问题是,我必须将三个编辑文本值保存到在customSave按钮中创建的数据库中。
Detail.java:
EditText value;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail);
value = (EditText) findViewById(R.id.value);
btnAddCount.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
final Dialog dialog = new Dialog(Detail.this);
//setting custom layout to dialog
dialog.setContentView(R.layout.custom_dialog_layout);
dialog.setTitle("Add List");
//adding button click event
final Button createEditText = (Button) dialog.findViewById(R.id.button);
createEditText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
count = value.getText().toString();
int i = Integer.parseInt(count);
if (i >= 0) {
do {
et = new EditText(VehicleDetail.this);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.CENTER;
((LinearLayout) dialog.findViewById(R.id.container)).addView(et);
// db.execSQL("insert into PassengerDetail (PASSENGER_ID) values('" + et.getText().toString() + "')");
i--;
createEditText.setVisibility(View.INVISIBLE);
} while (i > 0);
Toast.makeText(getApplicationContext(), "Running", Toast.LENGTH_LONG).show();
}
}
});
customSave.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
db.execSQL("insert into Detail(NUMBER_ID) values('" + et.getText().toString() + "')");
Log.d("Edit", "editText" + et);
dialog.dismiss();
}
});
dialog.show();
}
});
如果将编辑文本值输入为3,同时单击customSave按钮,则必须将三个编辑文本值存储在数据库的3行中。但是现在数据库中将只存储一个编辑文本。
任何人都可以帮助我。谢谢。
声明ArrayList of Edittexts全局为:
ArrayList<EditText> editTexts = new ArrayList<EditText>();
在do while循环中,添加所有新创建的编辑文本对象:
editTexts.add(et);
然后在customSave onclickListner中获取所有编辑文本并将其另存为数据库:
for (Iterator iterator = editTexts.iterator(); iterator.hasNext();) {
EditText editText = (EditText) iterator.next();
db.execSQL("insert into Detail(NUMBER_ID) values('" + editText.getText().toString() + "')");
Log.d("Edit", "editText" + et);
}
editTexts.clear();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句