Snackbar对snackbar.dismiss()没有反应

问题描述 投票:2回答:1

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

我的代码:

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,我的应用程序处于else状态。感谢帮助。

android android-snackbar
1个回答
3
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.