无法将值放入 HashMap

Not able to put values in HashMap

我在 Adapter 中有一个 HashMap,我想在其中存储一个字符串和一个双精度数。我从我的模型中获取了这两个值,它们工作正常,就像我记录它时一样,它是正确的。但是每次返回 null 时,我都无法将这些值放入 HashMap。

holder.add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.i("DishName", String.valueOf(dishDetailsModel.getDishName()));          //working fine
                Log.i("Price", String.valueOf(dishDetailsModel.getPrice()));                //working fine
                String dishName = String.valueOf(dishDetailsModel.getDishName());
                Double price = Double.valueOf(String.valueOf(dishDetailsModel.getPrice()));
                mOrderDetails.put(dishName, price);                                              //not working
            }
        });

        mOrderDetails.put("Pizza", 45.0);                                                        //working fine

        Gson gson = new Gson();
        String details = gson.toJson(mOrderDetails);
        Intent intent= new Intent("OrderDetails");
        Log.i("details", details);                                                          //only pizza is there
        intent.putExtra("CartDetails", details);
        LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
    }

我认为问题不在于插入,而在于对事件及其触发时间的理解。

onclick 事件中的代码将 运行,嗯,点击事件,但其余代码将 运行 立即。

尝试调试应用程序,在各行中放置断点,尝试了解事情发生的原因和时间。

相信我,试着自己去理解,这对我们的学习过程会有好处。