Edittext以前的值

时间:2017-05-25 20:09:32

标签: java android

我有一个值为1的编辑文本,然后我将其更改为10并按下一个按钮。我想将值1存储在变量中,将10存储在单独的变量中。如何执行此操作?

3 个答案:

答案 0 :(得分:0)

您可以使用editText方法addTextChangedListener

     editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void afterTextChanged(Editable arg0) {

        }

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

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        }
    });

答案 1 :(得分:0)

实现TextChangeListener

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void afterTextChanged(Editable arg0) {

    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
         prev_value = s.toString().trim(); // will print 1
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
       latest_value = s.toString().trim(); // will print 10
   }
});

答案 2 :(得分:0)

1。您可以通过向input添加addTextChangedListener来获取editText个值。

2。您可以使用varibale来存储ArrayList<String>old输入值,而不是使用new。需要。

以下是一个例子:

    final ArrayList<String> values = new ArrayList<>();
    editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            values.add(charSequence.toString());
        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });


    // Use values
    for (int i = 0; i < values.size(); i++) {
        String value = values.get(i);

        // Do something with value
    }

希望这会有所帮助〜