动态创建两个EditTexts并在模型中保存值

时间:2017-06-13 13:44:55

标签: android

我遇到了用户使用按钮创建两个新的动态<ControlTemplate.Triggers> <EventTrigger RoutedEvent="UIElement.GotFocus"> <BeginStoryboard> <Storyboard> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(RangeBase.Value)" > <EasingDoubleKeyFrame KeyTime="0:0:1" Value="90"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </ControlTemplate.Triggers> 的问题。 一个EditTexts代表文章,另一个代表权重。

现在......在填写之后,让我们说6 EditText或3行代表3个模型。

它应该将它们存储在EditTextsList的{​​{1}}中。 因此,我遇到的主要问题是我需要在模型中保存文章和权重的部分,并在任何Model更新时更新。

模型是这样的:

List<Model>

The view

我已经实现了EditText,在用户输入后,它会验证字段...但是如何动态创建模型,或更新与其对应的字段。

这就是我创建文章public class Dispatch { private String Article; private String Weight; . . .getters and setters }

的方式
onTextChanged

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

private void createArticle() {
    // create new 'Dispatch' item
    Dispatch dispatch = new Dispatch();
    EditText et_article = new EditText(this.getContext());
    // pass the 'Dispatch' item to text change listener, so that it can
    // updated accordingly
    et_article.addTextChangedListener(new TextChangeListener(dispatch));
    // add the same 'Dispatch' item to the list
    list.add(dispatch)
    return et_article;
}

private class TextChangeListener implements TextWatcher {
    private Dispatch dispatch;

    TextChangeListener(@NonNull Dispatch dispatch) {
        this.dispatch = dispatch;
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // assign the value after verification
        dispatch.article = s.toString();
    }

    @Override
    public void afterTextChanged(Editable s) {}
}