Я пытаюсь уволить Snackbar
, когда условие выполнено.Поведение библиотеки поддержки переопределения поддержки
snackbar.setAction("Retry", new View.OnClickListener() {
@Override
public void onClick(View view) {
if(isConnected(getApplicationContext())){
toggleButtonsState(true);
snackbar.dismiss();
} else {
snackbar.show();
}
}
});
snackbar.show();
Однако Snackbar
реализация этой автоматическая уволить его, когда действие кнопки.
public Snackbar setAction(CharSequence text, final OnClickListener listener) {
TextView tv = this.mView.getActionView();
if(!TextUtils.isEmpty(text) && listener != null) {
tv.setVisibility(0);
tv.setText(text);
tv.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
listener.onClick(view);
Snackbar.this.dismiss();
}
});
} else {
tv.setVisibility(8);
tv.setOnClickListener((OnClickListener)null);
}
return this;
}
Вообще, есть способ изменить скомпилированный Gradle библиотеку так, чтобы справиться со своими потребностями. то есть. для удаления этой строки Snackbar.this.dismiss();
. Я знаю, что могу искать источник и вставлять его в папку libs, а затем я могу его изменить, но есть ли способ сделать это, а не это?