Android:如何使用循环删除带有空值的EditText

时间:2016-04-27 16:05:38

标签: android arrays list loops android-edittext

首先,这是我的代码:

startRandomizing.setOnClickListener(new View.OnClickListener() {
   @Override
     public void onClick(View v) {

         ArrayList<String> values = new ArrayList<>();
             int idList[] = new int[]{R.id.textBox1,R.id.textBox2,R.id.textBox3,
                                      R.id.textBox4,R.id.textBox5,R.id.textBox6};

             for(int id : idList){
                 if (findViewById(id) != null) {
                     values.add(((EditText) findViewById(id)).getText().toString());
                     }
             }


     String[] myItems = values.toArray(new String[values.size()]);

我想要做的是摆脱所有空值,以便数组的长度(myItems.length)将取决于文本框1 - 6中的值。

(例如 - 我有一个字符串&#34; Hello&#34;在textBox1和&#34; World&#34;在textBox2中,其余为空。我的所需myItems.length输出应为2,因为剩下的textBoxes没有值。)

此代码输出6(计算所有文本框)。我哪里出错?

1 个答案:

答案 0 :(得分:0)

在for循环中更改代码,如下所示:

String s = ((EditText) findViewById(id)).getText().toString();
if(!TextUtils.isEmpty(s)){
    values.add(s);
}