首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变频器上的java.lang.NullPointerException应用程序

变频器上的java.lang.NullPointerException应用程序
EN

Stack Overflow用户
提问于 2022-09-15 20:56:34
回答 1查看 52关注 0票数 0

我目前正在创建一个带有API调用的实时货币转换器应用程序,但是每当我单击Button来转换货币时,我的应用程序就会崩溃,我得到了这一行:

代码语言:javascript
复制
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.gson.JsonObject com.google.gson.JsonObject.getAsJsonObject(java.lang.String)' on a null object reference
        at com.example.converterproject.MoneyActivity$1$1.onResponse(MoneyActivity.java:70)

下面是我编写的一些代码:

代码语言:javascript
复制
MoneyButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            RetrofitInterface retrofitInterface = RetrofitBuilder.getRetrofitInstance().create(RetrofitInterface.class);
            Call<JsonObject> call = retrofitInterface.getExchangeCurrency(MoneyTo.getSelectedItem().toString());
            call.enqueue(new Callback<JsonObject>() {
                @Override
                public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
                    JsonObject res = response.body();
                    JsonObject rates = res.getAsJsonObject("rates");
                    double currency = Double.valueOf(MoneyEd.getText().toString());
                    double multiplier = Double.valueOf(rates.get(MoneyFrom.getSelectedItem().toString()).toString());
                    double result = currency * multiplier;
                    MoneyTextView.setText(String.valueOf(result));


                }

                @Override
                public void onFailure(Call<JsonObject> call, Throwable t) {

                }
            });
        }
    });

因此,很明显,JsonObject rates = res.getAsJsonObject("rates");是导致问题的原因。我真的不知道怎么解决这个问题,所以我非常感谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2022-09-16 13:56:32

您的响应似乎是JsonObject,您不需要获取res,即JsonObject => JsonObject res = response.body(); as JsonObject。

所以如果你删除这一行

代码语言:javascript
复制
 JsonObject rates = res.getAsJsonObject("rates");

取而代之的是使用res。我想这会管用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73737352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档