我只需要将详细信息添加到列表中,一次使用代号 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 元素。这些应该分开。