【问题标题】:What could this error be? [REDACTED_DOMAIN_NAME]这个错误可能是什么? [REDACTED_DOMAIN_NAME]
【发布时间】: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


    【解决方案1】:

    似乎对 context.getApplicationContext()).getUsuario() 的调用返回 null 并且您在尝试获取用户 ID 时得到 NPE。可能用户没有登录,所以 ApplicationContext 中没有对应的对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多