【发布时间】:2018-03-10 19:42:09
【问题描述】:
异常 java.lang.RuntimeException:无法启动活动 组件信息{app.app/app.app.activity.NotificacaoActivity}: java.lang.NullPointerException:尝试从字段中读取 'java.lang.String app.app_[REDACTED_DOMAIN_NAME]' 为空 对象引用
由 java.lang.NullPointerException 引起:尝试从字段中读取 'java.lang.String app.app_[REDACTED_DOMAIN_NAME]' 为空 对象引用 app.app.persistence.WAPIService.getNotificacoes (WAPIService.java:230) app.app.activity.NotificacaoActivity.onStart (NotificacaoActivity.java:65)
我不明白这个错误是什么,下面,它遵循错误引用的类: 通知:
@Override
public void onStart() {
super.onStart();
showProgress(true, "wait", false);
WAPIService.getInstance().getNotificacoes(new FutureCallback<List<Notificacao>>() {
@Override
public void onSuccess(List<Notificacao> result) {
//listView.setAdapter(new NotificacaoAdapter(getContext(), result));
if(!result.isEmpty()) {
List<Notificacao> lidas = new ArrayList<Notificacao>();
List<Notificacao> naoLidas = new ArrayList<Notificacao>();
for(Notificacao n : result){
if((n.Status == 10 && n.Tipo != 5 && n.Tipo != 10 && n.Tipo != 15 && n.Tipo != 20) ){//Teste com 20 para dividir
naoLidas.add(n);
} else {
lidas.add(n);
}
}
if (getFragmentRefreshListenerLidas() != null) {
getFragmentRefreshListenerLidas().onRefresh(new NotificacaoAdapter(getContext(), lidas));
}
if (getFragmentRefreshListenerNaoLidas() != null) {
getFragmentRefreshListenerNaoLidas().onRefresh(new NotificacaoAdapter(getContext(), naoLidas));
}
}
showProgress(false, "", true);
}
@Override
public void onFailure(Throwable t) {
showProgress(false, "", true);
Toast("Erro ao buscar notificações");
Log.e(TAG, "Erro ao buscar notificações: " + t.getMessage());
}
});
}
Wapi: 这个类去服务器,我寻找通知:
public void getNotificacoes(final FutureCallback> 回调) { JsonObject usuarioId = new JsonObject(); usuarioId.addProperty("id_usuario", ((ApplicationUtils) context.getApplicationContext()).getUsuario().Id);
wapiConn.invokeApi("notification", "get", usuarioId, JsonObject.class, new FutureCallback<JsonObject>() {
@Override
public void onSuccess(JsonObject result) {
try {
List<Notificacao> notificacoes = JsonEntityParser.parseResults(result.getAsJsonArray("notifications"),
wapiConn.getMobileServiceClient().getGsonBuilder().create(), Notificacao.class);
//Chamando CallBack da tela de login / registro
callback.onSuccess(notificacoes);
} catch (Exception e) {
callback.onFailure(e);
}
}
@Override
public void onFailure(Throwable t) {
callback.onFailure(t);
}
});
}
【问题讨论】:
标签: android