Получить значение в поле Android EditText, используя идентификатор - PullRequest
0 голосов
/ 26 ноября 2011

Я получил идентификатор динамически в виде целого числа, используя getIdentifier (). Я хочу иметь возможность получить значение, хранящееся в поле EditText, используя целочисленный идентификатор.

Я должен добавить этот метод, который я пишу, не в Activity, а в отдельном не-Activity классе.

Ответы [ 4 ]

1 голос
/ 26 ноября 2011

Вы можете использовать

String value = ((EditText) findViewById(R.id.edittext)).getText();

Если вы используете отдельный класс, вы должны передать ссылку на EditText в этот класс.Сначала получите ссылку

setContentView(R.layout.yourlayout);
EditText editText = (EditText) findViewById(getResources()
        .getIdentifier("edittext", "id", "com.yourpackage"));

, затем передайте ее другому классу и используйте там getText.Убедитесь, что вы пытаетесь получить доступ только к EditText, когда активность активна.

Для метода getIdentifier есть предупреждение, поэтому вы должны использовать его, только если у вас нет другого выбора:

Примечание: использование этой функции не рекомендуется.Гораздо эффективнее получать ресурсы по идентификатору, чем по имени.

0 голосов
/ 26 ноября 2011

Используйте этот код:

EditText et=(EditText) findViewById(your_editText_id);
CharSequence text = et.getText();
String textS=text.toString();
0 голосов
/ 26 ноября 2011

Это то, что вы просите?

String ed1 = ((EditText) findViewById(R.id.value)).getText().toString();
0 голосов
/ 26 ноября 2011
String value = ((EditText) findViewById(R.id.edittext)).getText().toString;

toString() требуется, поскольку getText() возвращает редактируемое значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...