ArrayList<EditText> editTextList = new ArrayList<EditText>();
for(int i = 0; i < rootLayout.getChildCount(); i++) {
if(rootLayout.getChildAt(i) instanceof EditText) {
editTextList.add( (EditText) rootLayout.getChildAt(i));
}
}
Где rootLayout
- это представление, содержащее все EditTexts
(например, LinearLayout). Чтобы добавить массив текста редактирования, вы можете попробовать это.
как вы присвоили переменную? это должно было быть:
$ export myPath="/home/user/dir"
затем внутри программы оболочки, например:
#!/usr/bin/env bash
echo $myPath
, вы получите желаемый результат.
Вы должны объявить присвоение переменной с помощью «export» следующим образом:
export myPath="/home/user/dir"
Это заставит оболочку включать переменную в среду запускаемых ею подпроцессов. По умолчанию объявленные вами переменные (без «экспорта») не передаются подпроцессу . Вот почему вы изначально не получили ожидаемый результат.
Будет ли пользователь ввод строк с разделителями в текстовые поля, или они будут вводить отдельные строки, которые затем будут встроены в строки с разделителями вашим кодом?
В первом случае может быть лучше переосмыслить ваш пользовательский интерфейс. Например, пользователь может вводить одну строку за раз в текстовое поле и нажимать кнопку «Добавить в список» после каждого.
Во втором случае не имеет значения, какой разделитель вы используете. Выберите любой символ, который вам нравится, просто убедитесь, что вы избегаете других вхождений этого символа.
РЕДАКТИРОВАТЬ
Поскольку несколько комментариев к другим ответам запрашивают код, здесь ' http://www.pixelbeat.org/docs/env.html