java - 如何在特定条件下隐藏 toast ?

标签 java android android-toast

我写了一些代码。这有助于将优惠券代码复制到剪贴板中。以及当代码被复制时。将显示 toast 。

我面临的问题是 if else 条件。我不想在 if 条件下显示 toast。或者可以说当设置可点击为假时我不想显示 toast 。

lbs1_copyCode.setOnClickListener(new View.OnClickListener() {
                                @Override
                                public void onClick(View v) {
                                    if (android.os.Build.VERSION.SDK_INT > 11) {
                                        ClipboardManager clipboard = (ClipboardManager) getSystemService(getApplicationContext().CLIPBOARD_SERVICE);
                                        ClipData clip = ClipData.newPlainText("label", lbs1_copyCode.getText());
                                        clipboard.setPrimaryClip(clip);

                                        Toast.makeText(getApplicationContext(), "Code Copied to Clipboard",
                                                Toast.LENGTH_SHORT).show();
                                    } else {

                                        ClipboardManager clipboard = (ClipboardManager) getSystemService(getApplicationContext().CLIPBOARD_SERVICE);
                                        ClipData clip = ClipData.newPlainText("label", lbs1_copyCode.getText());
                                        clipboard.setPrimaryClip(clip);

                                        Toast.makeText(getApplicationContext(), "Code Copied to Clipboard",
                                                Toast.LENGTH_SHORT).show();
                                    }
                                }
                            });

                            final String coupon_code = documentSnapshot.getString(LOOT_BOX_SPECIAL1_KEY_COUPON_CODE);

我不想在这种情况下显示 toast 。

 if (TextUtils.isEmpty(coupon_code)) {
                                lbs1_couponCode.setText("NOT REQUIRED");
                                lbs1_couponCode.setTextColor(Color.parseColor("#FF0000"));
                                lbs1_couponCode.setClickable(false);

                            } 

想要在这种情况下显示 toast

else {
                                    lbs1_couponCode.setText(coupon_code);
                                    lbs1_couponCode.setClickable(true);
                                    lbs1_couponCode.setTextColor(Color.parseColor("#308fe9"));
                                }

最佳答案

尝试在 onCreate 方法中先创建 toast,如下所示

Toast toast = Toast.makeText(getApplicationContext(), "Code Copied to Clipboard", Toast.LENGTH_SHORT)

然后无论何时你想显示它,你都可以简单地调用它

toast.show();

并取消/隐藏

toast.cancel();

关于java - 如何在特定条件下隐藏 toast ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57126194/

相关文章:

java - Android 应用 Toast 混淆

java - 将包含 ISO 8859-1 十六进制字符代码的字符串转换为 UTF-8 java

java - 是否可以等待 Activity 结果?

java - 检查 Android/Java 上的端口是否打开

android - 如何使用kotlin android更改 ListView 中的自定义字体

android - 一次显示两条 Toast 消息?

java - flex-compiler-oem.jar 无法解析 <s :Application> to a component implementation

java - Java 对象可以从 Javascript 传递到 Applet

java - CompareTo 是传递的

java - 在 asynctask 结束时执行一个函数