Cómo mantener la cafetería abierta después de la acción se llama

Utilizo un snackbar para notificar a los usuarios de mi aplicación que no están conectados a Internet. He añadido una acción de "reintento" a la cafetería que vuelve a comprobar la conexión. Quiero que el bocadillo permanezca exhibido hasta que lo descarte yo mismo (cuando una conexión de Internet se encuentra), pero no puedo conseguir esto para trabajar. Cada vez que haga clic en la acción, la barra desprecia.

He fijado la duración a indefinido y el snackbar permanece abierto indefinidamente pero rechaza cuando hago clic en la acción.

He leído en línea que despedir el snackbar automáticamente después de hacer clic en la acción no siempre ha sido el comportamiento predeterminado.

editar:

Siento que mi pregunta podría estar mal formulada. Tengo un snack bar con una acción, pero no quiero que el snackbar se cierre cuando se ejecuta la acción, lo que automáticamente hace atm.

Puede sobrescribir el OnClickListener establecido para el botón. En primer lugar hacer el snackbar con y establecer la acción con algún oyente ficticio

Snackbar snackbar = Snackbar.make(view,"TXT",Snackbar.LENGTH_LONG).setAction("OK", new View.OnClickListener() { @Override public void onClick(View v) { } }); 

Y luego encuentre el botón y configure su listner

 snackbar.show(); ViewGroup group = (ViewGroup) snackbar.getView(); for(int i=0; i< group.getChildCount();i++){ View v = group.getChildAt(i); if(v instanceof Button){ v.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { YOUR_ACTION(); } }); } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.