尝试调用虚方法' long java.util.Date.getTime()'在null对象引用上

时间:2018-04-04 10:57:05

标签: java android firebase firebase-realtime-database android-adapter

我正在尝试通过适配器和Viewholder检索我的帖子从Firebase时间戳到Feed活动的时间。但是,当我启动我的应用程序时,它崩溃了。 可能的原因是什么呢?除了一切正常,我的意思是,Image Url和EditText数据正在安全地检索。如何检索时间并在我的Feed中显示它。在下面的代码中,错误是在第一行引发的。

long millisecond = feed_list.get(position).getTimestamp().getTime();
String dateString = DateFormat.format("MM/dd/yyyy", new Date(millisecond)).toString();                       
holder.setTime(dateString);

1 个答案:

答案 0 :(得分:0)

您需要在timestamp后面getTimestamp()初始化,或者通过检查条件是否为空来避开NullPointerException

if (feed_list.get(position).getTimestamp() != null) {
    // do something
}
如果您尝试访问某个方法,则会引发

NullPointerException - 在getTime() Date null var cart = document.getElementById("cart"); var totalPrice = 0 //Those functions are implemented in JQuery - you can choose to implemented in the way you wish function _getValueOfClosestInput(event,wrapperParent,elementType,className){ return $(event).closest(wrapperParent).find(elementType +"."+className).val(); } function _setTextfElement(elementClass,value){ $(elementClass).text(value); } function add(e) { var price = _getValueOfClosestInput(e,'div','input','price'); var quantity = _getValueOfClosestInput(e,'div','input','quantity'); var name = _getValueOfClosestInput(e,'div','input','name'); totalPrice += price * quantity; console.log("the name is " + name); cart.innerHTML += "<tr><td>" + name + "</td><td>" + quantity + "</td><td>" + price +"</td><td class='getT'>" + (price * quantity) +"</td><td class='btn btn-danger del' id='del' onclick='del(this)'>Delete</td></tr>" _setTextfElement('.total',totalPrice); }