Intereting Posts
API Google Maps для Google: скрыть фрагмент маркера Google Glass не появляется как устройство на затмении под DDMS. Как перемещаться / просматривать / редактировать источники платформы Android (AOSP) с помощью Intellij IDE (желательно Android Studio)? Можно ли постоянно тестировать тесты на Android Studio? Android TextView: настройка фонового цвета динамически не работает Правильный способ обработки предупреждения NullPointerException от Android Studio Java MimetypesFileTypeMap всегда возвращает приложение / октет-поток на эмулятор Android Android условные раскладки для телефонов: планшеты Ионный сбор Android | Ошибка: не найдены установленные инструменты сборки. Установите инструменты для сборки Android Instagram от Android открыта для определенного пользователя и добавляет подпись к загруженному изображению Как создать проект андроида с градиентом из командной строки? Могу ли я использовать d3.js для создания интерактивных визуализаций внутри приложения Android? Автоматическое отключение уведомления не работает для леденца на Android Версия приложения для Android – версия Min SDK Как вставить виджет SoundCloud в Android-приложение

Получил Null String, получая данные из EditText в android

Я получил нулевые данные при извлечении данных из текстового окна.

Мой код:

EditText msg=(EditText)findViewById(R.id.Et_Msg); String setMsg=msg.getText().toString(); Log.v("Messge","Message::"+setMsg); 

Скажите, пожалуйста, где я ошибаюсь?

Это ваш код,

 EditText msg=(EditText)findViewById(R.id.Et_Msg); String setMsg=msg.getText().toString(); Log.v("Messge","Message::"+setMsg); 
  • Первая строка инициализирует EditText. Когда это делается по умолчанию, в edittext нет значения (строки).
  • Во второй строке вы пытаетесь получить строку из пустой edittext , поэтому она дает вам NullPointerException .

Решение: предлагаю вам переместить строку String setMsg=msg.getText().toString(); В другом месте, где вы собираетесь использовать значение EditText.

Получая данные из EditText, вы должны create a listener orelse, вы получите значение как null для примерного нажатия кнопки. Например:

  public class A extends Activity implements OnClickListener{ Button btn; EditText edt; @Override public void onCreate(Bundle saved){ super.onCreate(saved); edt = (EditText) findViewById(R.id.your_id); btn = (Button) findViewById(R.id.your_id); btn.setOnClickListener(this); } @Override public void onClick(View v){ if(v == btn){ String setMsg=edt.getText().toString(); Log.v("Messge","Message::"+setMsg); } } } 

См. То, что вы делаете .. сразу после получения и объекта EditText на который вы вызываете getText() на нем .. мыслить логически. Очевидно, что нет ничего (он должен возвращать пустое, хотя не уверен, почему он сохраняет null) в EditText если у вас его нет в xml .. что-то вроде этого;

 <EditText ... android:text="Hey there" ... /> 

Попробуйте это .. или переместите getText() при некотором нажатии кнопки.

Пожалуйста, замените приведенную ниже строку

 String setMsg=msg.getText().toString(); 

с

 String setMsg = String.valueOf(msg.getText()); 

Пожалуйста, попробуйте выше. Ваша проблема будет решена.