Не могу нажать кнопку действия на Снэк-баре - PullRequest
0 голосов
/ 14 декабря 2018

Невозможно нажать кнопку на SnackBar внутри фрагмента с привязкой данных.

Вот код Java:

        final Snackbar snackBar = Snackbar.make(binding.layoutMain, error, Snackbar.LENGTH_LONG);

    snackBar.setAction("TRY", new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });
    snackBar.show();

enter image description here

Редактировать: Ошибка подключения - это не диалоговое окно.

ОБНОВЛЕНИЕ:

Я попытался установить видимость NestedScrollView в УЖЕ, чтобы проверить.Snackbar, кажется, работает правильно.Это как-то связано с макетом?

Ответы [ 3 ]

0 голосов
/ 14 декабря 2018

Мне так понравилось

  Snackbar snackbar = Snackbar.make( coordinator_,
            service_name+" Service Added To Cart!", 1000);

    //setting the snackbar action button text size
    View view = snackbar.getView();
    TextView txt_action = (TextView) view.findViewById(android.support.design.R.id.snackbar_action);
    TextView txt_text = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
    txt_action.setTextSize(13);
    txt_action.setAllCaps(false);
    txt_text.setTextSize(13);
    snackbar.setActionTextColor(ContextCompat.getColor(getActivity(), R.color.snackbar));

    snackbar.setAction("View Cart", new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            //your code
        }
    });
    snackbar.show();
0 голосов
/ 14 декабря 2018

Попробуйте это.

Snackbar snackbar = Snackbar
        .make(cb,"Your Text",Snackbar.LENGTH_INDEFINITE)
        .setAction("COPY TO", new View.OnClickListener() {
            @Override
            public void onClick(View view) {
Toast.makeText(getActivity(), "Clicked", Toast.LENGTH_SHORT).show();
            }
        });

snackbar.show();

, а также попытайтесь закрыть диалоговое окно "Нет соединения" при щелчке закусочной

0 голосов
/ 14 декабря 2018

Делайте так, чтобы добиться действия на закусочной

     final Snackbar snackBar = Snackbar.make(binding.layoutMain, error, Snackbar.LENGTH_LONG).setAction("Dismiss", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
    //Do your code
  snackBar.dismiss();
            }
        });
        snackBar.show();
...