Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / значение null / 4 сообщений из 4, страница 1 из 1
05.07.2018, 13:45
    #39670027
vlad2018
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значение null
Всем доброго времени суток!
Подскажите, что делаю не так.. Пишу бота телеграм и при нажатии на кнопту хочу, чтоб данные писались в БД, но стопорнулся на одном моменте, метод не отрабатывает в операторе switch.. т.е при вызове метода foo(setBalance(update)); вне оператора switch я получаю номер и заношу его в БД, но если я вызываю его в операторе, то получаю null, в чем может быть причина????

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
 @Override
    public void onUpdateReceived(Update update) {
        Message message = update.getMessage();
        if (message.hasText()) {
            switch (message.getText()) {
                case "/start":
                    sendMsg(message, "start!");
                    break;
                case "test":
		    foo(setBalance(update));
                    send(message, "test");
                    break;
                default:
                    sendMsg(message, "exit");
                    break;
            }
        }
    }
	
	
 public void foo(String t) {
        DataManager dataManager = new DataManager();
        dataManager.insertUser("test1", "test2", String.valueOf(t));
    }
	
	
	
public String setBalance(Update update) {
        List<String> t = null;
        if (update.hasMessage() && update.getMessage().hasText()) {
            long chat_id = update.getMessage().getChatId();
            SendMessage sendMessage = new SendMessage()
                    .setChatId(chat_id)
                    .setText("start");
            ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
            sendMessage.setReplyMarkup(replyKeyboardMarkup);
            replyKeyboardMarkup.setSelective(true);
            replyKeyboardMarkup.setResizeKeyboard(true);
            replyKeyboardMarkup.setOneTimeKeyboard(true);
            // new list
            List<KeyboardRow> keyboard = new ArrayList<>();
            // first keyboard line
            KeyboardRow keyboardFirstRow = new KeyboardRow();
            KeyboardButton keyboardButton = new KeyboardButton();
            keyboardButton.setText("Add number").setRequestContact(true);
            keyboardFirstRow.add(keyboardButton);
            // add array to list
            keyboard.add(keyboardFirstRow);
            // add list to our keyboard
            replyKeyboardMarkup.setKeyboard(keyboard);
            try {
                sendMessage(sendMessage);
            } catch (TelegramApiException e) {
                e.printStackTrace();
            }

        } else {
            t = new ArrayList<>();
            t.add(update.getMessage().getContact().getPhoneNumber());
            for (String r : t) {
                System.out.println(r);
            }
        }
        return String.valueOf(t);
    }



Заранее благодарен за помощь!
...
Рейтинг: 0 / 0
05.07.2018, 14:05
    #39670038
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значение null
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 String setBalance(Object update){
            List<String> t = null;
            if(update==null){
                //тут то че?
            }else {
                t=new ArrayList<>();
                t.add("23123");
            }
            return String.valueOf(t);

        }

vlad2018,
...
Рейтинг: 0 / 0
06.07.2018, 08:30
    #39670420
vlad2018
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значение null
Где-то в степи
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 String setBalance(Object update){
            List<String> t = null;
            if(update==null){
                //тут то че?
            }else {
                t=new ArrayList<>();
                t.add("23123");
            }
            return String.valueOf(t);

        }

vlad2018,

Ну если (update==null), то просто выводить null, но в телеграме для получения контакта используется setRequestContact(true) и мы получаем его, но у мне кажется ,что я получаю null причине того, что вызов метода foo(setBalance(update)); находится во вложеном if
...
Рейтинг: 0 / 0
06.07.2018, 11:33
    #39670579
vlad2018
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значение null
vlad2018,

Спасибо за помощь, разобрался
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / значение null / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]