Snackbar 对 snackbar.dismiss() 没有反应

Snackbar doesn't react for snackbar.dismiss()

我对小吃店有疑问。我的小吃店对解雇没有反应

我的代码:

ConnectivityReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            ConnectivityManager cm =
                    (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

            Snackbar snackbar = Snackbar
                    .make(drawer, getResources().getString(R.string.no_internet), Snackbar.LENGTH_INDEFINITE)
                    .setAction(getResources().getString(R.string.settings), new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
                        }
                    });

            NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
            boolean isConnected = activeNetwork != null &&
                    activeNetwork.isConnectedOrConnecting();

            if(!isConnected){
                snackbar.show();
            }else {
                snackbar.dismiss();
            }
        }
    };

我检查过,如果 isConnected return 为真,我的应用程序处于 else 状态。 感谢您的帮助。

您尝试关闭未显示的快餐栏,因为您没有对之前创建的快餐栏的引用。 将 SnackBar 声明作为 class 的字段移动,它应该可以工作。