解释protected void onClickProduct(@NonNull ProductBean product) { Log.d("plu:%d, name:%s, price:%.2f", product.pluNo, product.name1, product.price); if (getIntent().getBooleanExtra(ARG_PRINT_ON_CLICK, true)) { SerialService.sendPluCommand(product.pluNo); android.util.Log.d("message", "ClickProduct:"+product); } long recognitionId = getIntent().getLongExtra(ARG_RECOGNITION_ID, -1); if (recognitionId != -1) { BackgroundExecutor.CachedThreadExecutor.submit(() -> updateRecognitionRecord(recognitionId, product)); } postDelayed(this::finish, 1000); Intent intent = new Intent(); intent.putExtra(ARG_PLU_NO, product.pluNo); setResult(RESULT_OK, intent); }
时间: 2024-04-02 12:32:02 浏览: 125
null-check:使用 Spring AOP 在运行时验证 @Nonnull 方法参数
这段代码定义了一个名为"onClickProduct"的方法,它的参数是一个ProductBean对象,表示用户点击的某个商品。在方法内部,首先通过Log.d()方法打印出该商品的PLU编号、名称和价格。接着,根据传入的Intent中的参数判断是否需要进行打印操作,如果需要,则调用SerialService.sendPluCommand()方法发送打印指令,并在Logcat中打印出"ClickProduct"和商品信息。如果传入的Intent中包含了识别记录的ID,那么会使用CachedThreadExecutor线程池中的一个线程来异步更新该识别记录,并将该线程的执行结果提交到线程池中进行处理。接下来,使用postDelayed()方法延迟1秒钟后调用finish()方法来关闭当前Activity。最后,创建一个新的Intent对象,并将商品的PLU编号作为参数传递给该Intent,将该Intent设置为当前Activity的返回结果,最终通过setResult()方法将该结果返回给调用方。
阅读全文