我只需要将详细信息添加到列表中,一次使用代号 1
i just need to add details to the list, one at a time using codename one
我正在做一个项目,我需要在数据库中添加 children(包括他们的详细信息)列表 table...但是在用户发送我需要的详细信息之前看那个榜单,最多7children。我已经创建了一个列表和一个添加操作,但我无法将 child 详细信息添加到列表中。使用我的代号,
public void childscreen()
{
/*-------DETAILS TAKEN HERE------*/
Form regscreen = new Form("Fill Childs details");
TableLayout tl;
int spanButton = 2;
if(Display.getInstance().isTablet()) {
tl = new TableLayout(7, 2);
} else {
tl = new TableLayout(14, 1);
spanButton = 1;
}
tl.setGrowHorizontally(true);
regscreen.setLayout(tl);
regscreen.addComponent(new Label("First Name"));
TextField txtname = new TextField();
regscreen.addComponent(txtname);
regscreen.addComponent(new Label("Middle Name"));
TextField txtname2 = new TextField();
regscreen.addComponent(txtname2);
regscreen.addComponent(new Label("Surname"));
TextField txtname3 = new TextField();
regscreen.addComponent(txtname3);
regscreen.addComponent(new Label("Birth Certificate/Notification No"));
TextField txtbirth = new TextField();
// txtidno.setConstraint(TextArea.NUMERIC);
regscreen.addComponent(txtbirth);
regscreen.addComponent(new Label("Date of Birth"));
PickerComponent date = PickerComponent.createDate(new Date());
regscreen.addComponent(date);
Button btnadd = new Button("Add");
TableLayout.Constraint cn = tl.createConstraint();
cn.setHorizontalSpan(spanButton);
cn.setHorizontalAlign(Component.RIGHT);
regscreen.addComponent(cn, btnadd);
Validator v = new Validator();
v.addConstraint(txtname, new LengthConstraint(3)).
addConstraint(txtname2, new LengthConstraint(3,"Enter Middle Name")).
addConstraint(txtname3, new LengthConstraint(3)).
addConstraint(txtbirth, new LengthConstraint(10)).
addConstraint(txtbirth, new LengthConstraint(4));
// addConstraint(txtname2, new RegexConstraint("txtname2", "Must be valid phone number"));
v.addSubmitButtons(btnadd);
/*-------DETAILS TAKEN HERE------*/
Form watoto=new Form("CHILDREN DETAILS", new BorderLayout());
Container list=new Container(BoxLayout.y());
list.setScrollableY(true);
for(int inter=1; inter<=7; inter++)
{
MultiButton mb=new MultiButton("Child Details "+inter);
mb.setTextLine2("Add");
mb.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent evt)
{
regscreen.show();
}
});
list.add(mb);
}
watoto.add(CENTER, list);
watoto.show();
}
任何帮助
提前致谢
您有两个单独的表单。两者都有效。但似乎您每次都在重新创建 child 列表表单,所以您回到它时它是空的,因为它是一个新表单。
child 列表形式需要比添加child 形式的范围更广。一个简单的方法是将 watoto
传递给添加 child 表单,当添加 child 时调用一个方法来显示。
但这并不能解决您的问题。您需要将数据与视图分开。现在你的系统中没有 children 的“概念”。您只有按钮和 UI 元素。这些应该分开。
我正在做一个项目,我需要在数据库中添加 children(包括他们的详细信息)列表 table...但是在用户发送我需要的详细信息之前看那个榜单,最多7children。我已经创建了一个列表和一个添加操作,但我无法将 child 详细信息添加到列表中。使用我的代号,
public void childscreen()
{
/*-------DETAILS TAKEN HERE------*/
Form regscreen = new Form("Fill Childs details");
TableLayout tl;
int spanButton = 2;
if(Display.getInstance().isTablet()) {
tl = new TableLayout(7, 2);
} else {
tl = new TableLayout(14, 1);
spanButton = 1;
}
tl.setGrowHorizontally(true);
regscreen.setLayout(tl);
regscreen.addComponent(new Label("First Name"));
TextField txtname = new TextField();
regscreen.addComponent(txtname);
regscreen.addComponent(new Label("Middle Name"));
TextField txtname2 = new TextField();
regscreen.addComponent(txtname2);
regscreen.addComponent(new Label("Surname"));
TextField txtname3 = new TextField();
regscreen.addComponent(txtname3);
regscreen.addComponent(new Label("Birth Certificate/Notification No"));
TextField txtbirth = new TextField();
// txtidno.setConstraint(TextArea.NUMERIC);
regscreen.addComponent(txtbirth);
regscreen.addComponent(new Label("Date of Birth"));
PickerComponent date = PickerComponent.createDate(new Date());
regscreen.addComponent(date);
Button btnadd = new Button("Add");
TableLayout.Constraint cn = tl.createConstraint();
cn.setHorizontalSpan(spanButton);
cn.setHorizontalAlign(Component.RIGHT);
regscreen.addComponent(cn, btnadd);
Validator v = new Validator();
v.addConstraint(txtname, new LengthConstraint(3)).
addConstraint(txtname2, new LengthConstraint(3,"Enter Middle Name")).
addConstraint(txtname3, new LengthConstraint(3)).
addConstraint(txtbirth, new LengthConstraint(10)).
addConstraint(txtbirth, new LengthConstraint(4));
// addConstraint(txtname2, new RegexConstraint("txtname2", "Must be valid phone number"));
v.addSubmitButtons(btnadd);
/*-------DETAILS TAKEN HERE------*/
Form watoto=new Form("CHILDREN DETAILS", new BorderLayout());
Container list=new Container(BoxLayout.y());
list.setScrollableY(true);
for(int inter=1; inter<=7; inter++)
{
MultiButton mb=new MultiButton("Child Details "+inter);
mb.setTextLine2("Add");
mb.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent evt)
{
regscreen.show();
}
});
list.add(mb);
}
watoto.add(CENTER, list);
watoto.show();
}
任何帮助 提前致谢
您有两个单独的表单。两者都有效。但似乎您每次都在重新创建 child 列表表单,所以您回到它时它是空的,因为它是一个新表单。
child 列表形式需要比添加child 形式的范围更广。一个简单的方法是将 watoto
传递给添加 child 表单,当添加 child 时调用一个方法来显示。
但这并不能解决您的问题。您需要将数据与视图分开。现在你的系统中没有 children 的“概念”。您只有按钮和 UI 元素。这些应该分开。