如何在数组列表中存储所有edittext值

时间:2016-06-27 05:04:18

标签: android arraylist android-edittext

我想将每个edittext值存储在一个arraylist中,但现在我的arraylist只存储我在edittext中输入的最后一个值。我想将我在edittext中输入的所有值存储到这个数组列表中。我的代码如下:

ArrayList<String> list = new ArrayList<String>();
list.add(mycartonno.getText().toString());

3 个答案:

答案 0 :(得分:0)

我认为你在每个OnClick上创建 new ArrayList

因此,在全局/外部点击

创建 ArrayList
ArrayList<String> list = new ArrayList<String>(); // define this is as globally

list.add(mycartonno.getText().toString());    // add this line to where you do your onclick like button

答案 1 :(得分:0)

也许您可以使用TextChangedListener在每次更改值时存储您的值。

EditText.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {} 
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
}); 

答案 2 :(得分:0)

您需要添加TextWatcher。 现在,根据您的要求,在OnTextChangedListener的任何实现方法中调用list.add。

    mEditText.addTextChangedListener(new TextWatcher() 

        {

                 @Override
                 public void afterTextChanged(Editable s) {
                  //use here if you want to save after a string is typed
                     list.add(s.toString());
                 }

                 @Override
                 public void beforeTextChanged(CharSequence s, int start, int count,          int after) {
//use here if you want to save before already present string is changed
                     list.add(s.toString());
                }

                @Override
                public void onTextChanged(CharSequence s, int start, int before,int count) {
        //use here if you want to save all the strings that are  typed
                     list.add(s.toString());
                }
                };);