Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В TextField как добавить "0", если String == null 
:(
    Опции темы
John2
Дата 30.9.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 30.6.2009

Репутация: нет
Всего: нет




Добрый День! 
Подскажите пожалуйста, как можно в TextField занести "0", если значение String == null?

Cуть такая:
В startApp() есть поле ввода, в которое вносятся данные в цифрах
при переходе данные должны появиться в новой Form 
   а) где внесено, к примеру "10" - должно появиться "10",
   б) где "пусто" - должен появиться "0"

Заранее спасибо!
PM MAIL   Вверх
dive
Дата 30.9.2009, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 25.10.2007
Где: Санкт-Петербург

Репутация: 3
Всего: 5



Код

String str;
...
TextField textfield = new TextField("TextField Label", str == null ? "0" : str, 50, 0);

PM MAIL WWW Skype GTalk Jabber MSN   Вверх
John2
Дата 2.10.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 30.6.2009

Репутация: нет
Всего: нет



Как не экспериментиловал, не удалось добиться результата, необходимого мне. 

Этим : 
Код

TextField textfield = new TextField("TextField Label", str == null ? "0" : str, 50, 0);
 или другим способом удаётся воспользоваться, если НЕ ПОЛЬЗОВАТЬСЯ методами .setString( str )
или getString() , что в принципе бессмысленно

Причина видимо в том, что при вызове этих методов переменная str теряет своё значение null. Или в чем-то ещё, не пойму точно.
Вот сам пример: 
Код

public void startApp()
{
...
        tf = new TextField( " поле ввода ", str, 4, TextField.NUMERIC );
        tf.setString( str );
...
}

public void commandAction(Command c, Displayable d)
{
...
   
 if ( c == goto2 )
   {
    ...
       str = tf.getString();
       tf = new TextField( " поле ввода ", str == null ? "0" : str, 4, TextField.NUMERIC );
    ...
   }

}

Так не работает - также "пусто" и остается.

А работает только так:
Код

if ( c == goto2 )
   {
    ...
       // Но данные введенные ранее не  извлекаются без str = tf.getString();
       tf = new TextField( " поле ввода ", str == null ? "0" : str, 4, TextField.NUMERIC );
    ...
   }


Может есть какие-то другие способы?
PM MAIL   Вверх
Окунь
Дата 2.10.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 8.2.2007
Где: Москва

Репутация: 2
Всего: 2



не проверял, но скорее всего после

Код

String str = null;
tf.setString(str);
str = tf.getString();


"".equals(str) == true
т.е. tf.getString(), если поле ввода пустое, возвращает пустую (а не нулевую) строку
PM MAIL   Вверх
John2
Дата 2.10.2009, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 30.6.2009

Репутация: нет
Всего: нет



Окунь
Спасибо большое! Заработало таким способом:
Код

str = tf.getString();
                if ( "".equals( str ) == true )
                {
                   str = "0";
                }

tf = new TextField( " поле ввода ", str, 4, TextField.ANY );

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0849 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.