繁体   English   中英

Snackbar第一次弹出时不显示操作

[英]Snackbar doesn't show action the first time it pops up

正如标题所说。 我在我的应用程序中实现了Snackbar功能,小吃栏第一次弹出时不会显示操作,但是第二次弹出。 代码如下。

    IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
    @Override
    public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
        if (result.isFailure()) {

            if (result.getResponse() == IabHelper.BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED) {
                mIsPremium = true;
                mAdView.setVisibility(View.GONE);
                removebutton.setText("PURCHASED");

                Snackbar.make(findViewById(R.id.container2), "Purchased", Snackbar.LENGTH_LONG)
                        .setAction("UNDO", mOnClickListener)
                        .setActionTextColor(Color.parseColor("#FFAB40"))
                        .setDuration(4000).show();
            }



        } else if (purchase.getSku().equals(ITEM_SKU)) {
            mIsPremium = true;
            mAdView.setVisibility(View.GONE);
            removebutton.setText("PURCHASED");
            Snackbar.make(findViewById(R.id.container2), "Ads have been removed", Snackbar.LENGTH_LONG)
                    .setAction("UNDO", mOnClickListener)
                    .setActionTextColor(Color.parseColor("#FFAB40"))
                    .setDuration(4000)
                    .show();
        }

        mOnClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        };

    }

};

首次调用函数时,您的onClickListener为null。

移动:

mOnClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    };

在if(result.isFailure())之前,甚至在某种onCreate()之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM