Snackbar对snackbar.dismiss()没有反应

时间:2016-03-27 21:45:36

标签: android android-snackbar

我的小吃吧有问题。我的小吃店没有对解雇做出反应

我的代码:

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返回true,我检查了我的应用程序处于其他状态。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您尝试关闭未显示的小吃栏,因为您没有引用之前创建的小吃。 将SnackBar声明移动到您的类的一个字段,它应该工作。