powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / значение null
4 сообщений из 4, страница 1 из 1
значение null
    #39670027
vlad2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Подскажите, что делаю не так.. Пишу бота телеграм и при нажатии на кнопту хочу, чтоб данные писались в БД, но стопорнулся на одном моменте, метод не отрабатывает в операторе 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
значение null
    #39670038
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
значение null
    #39670420
vlad2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степи
Код: 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
значение null
    #39670579
vlad2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vlad2018,

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


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