java.lang.NumberFormatException? - PullRequest
       36

java.lang.NumberFormatException?

0 голосов
/ 07 ноября 2019

Я новичок в программировании Android. У меня проблема в приложении чата. Когда отправляется сообщение любому пользователю, оно сохраняется в базе данных Firebase. Но когда я пытаюсь показать все чаты определенного пользователя, он выдает ошибку.

Проблема в java.lang.NumberFormatException: null

Вот мой код, где я получаю ошибку:

@Override
public void onBindViewHolder(@NonNull MyHolder myHolder, int i) {

    //get data
    String message = chatList.get(i).getMessage();
    String timestamp = chatList.get(i).getTimestamp();

    //convert time stamp to dd/mm/yyyy hr:mm am/pm
    Calendar cal = Calendar.getInstance(Locale.ENGLISH);
    cal.setTimeInMillis(Long.parseLong(timestamp));
    //cal.setTimeInMillis(Long.parseLong(timestamp));
    String dateTime = android.text.format.DateFormat.format("dd/MM/yyyy hh:mm aa", cal).toString();

    //set Data
    myHolder.messageTv.setText(message);
    myHolder.timeTv.setText(dateTime);

    //msg delivered/seen
    if (i == chatList.size()-1){
        if (chatList.get(i).isSeen()){
            myHolder.isSeenTv.setText("Seen");
        }
        else {
            myHolder.isSeenTv.setText("Delivered");
        }
    }
    else {
        myHolder.isSeenTv.setVisibility(View.GONE);
    }

}

введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

Использовать try-catch блок для обработки NumberFormatException

Calendar cal = Calendar.getInstance(Locale.ENGLISH);

try {
    cal.setTimeInMillis(Long.parseLong(timestamp)); 
} catch(Exception ex) {
    ex.printStackTrace();
}

String dateTime = android.text.format.DateFormat.format("dd/MM/yyyy hh:mm aa", cal).toString(); 
0 голосов
/ 07 ноября 2019

Можете ли вы опубликовать полную трассировку стека исключений? Возможно, эта строка вызывает ее, предполагая, что ваша отметка времени равна нулю

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