【问题标题】:How to show dialogue for network change states?如何显示网络变化状态的对话?
【发布时间】:2019-11-29 03:00:30
【问题描述】:

我有一个用于在 android 中更改网络状态的代码。但现在的问题是,当网络状态发生变化时,代码会显示小吃吧。我希望它在网络状态发生变化时显示对话框。我已经做了一切。我只想而不是小吃店对话将显示。

IntentFilter intentFilter = new IntentFilter(NetworkStateChangedReceiver.NETWORK_AVAILABLE_ACTION);
        LocalBroadcastManager.getInstance(this).registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                boolean isNetworkAvailable = intent.getBooleanExtra(IS_NETWORK_AVAILABLE, false);
                String networkStatus = isNetworkAvailable ? "connected" : "disconnected";

                Snackbar.make(findViewById(R.id.activity_dashboard), "Network Status: " + networkStatus, Snackbar.LENGTH_LONG).show();
            }
        }, intentFilter);

【问题讨论】:

    标签: java android android-fragments android-activity dialog


    【解决方案1】:

    只需使用AlertDialog.Builder 而不是Snackbar 创建警报对话框。以下几行应该可以工作,

    IntentFilter intentFilter = new IntentFilter(NetworkStateChangedReceiver.NETWORK_AVAILABLE_ACTION);
    LocalBroadcastManager.getInstance(this).registerReceiver(new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            boolean isNetworkAvailable = intent.getBooleanExtra(IS_NETWORK_AVAILABLE, false);
            String networkStatus = isNetworkAvailable ? "connected" : "disconnected";
    
            //Snackbar.make(findViewById(R.id.activity_dashboard), "Network Status: " + networkStatus, Snackbar.LENGTH_LONG).show();
    
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setMessage(R.string.dialog_message).setTitle(R.string.dialog_title);
            AlertDialog dialog = builder.create();
        }
    }, intentFilter);
    

    【讨论】:

      【解决方案2】:

      这是一个您可以使用的简单 AlertDialog:

       public static Dialog createSimpleOkDialog(Context context, String title, String message) {
              AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
                      .setTitle(title)
                      .setMessage(message)
                      .setNegativeButton(android.R.string.ok, null);
      
              return alertDialog.create();
          }
      

      【讨论】:

        猜你喜欢
        • 2011-03-08
        • 2015-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多