¿Cómo pasar Object ArrayList a través de la interfaz?

Tengo una interfaz definida como

public interface QueryCompleteListener { void onQueryCompleted(int token, ArrayList<Object1> songList); } 

Estoy utilizando esta interfaz para devolver la devolución de llamada. En algunas devoluciones de llamada quiero pasar ArrayList<Object1> y en algunos casos quiero pasar ArrayList<Object2> través de la interfaz.

Si declaro el método de interfaz como

void onQueryCompleted(int token, ArrayList<Object> songList)

para pasar cualquier tipo de Objeto, da un error diciendo encontrado Objeto1 requerido Objeto cuando llamo a este método pasando ArrayList<Object1>

Utilice lo siguiente:

 <T> void onQueryCompleted(int token, List<T> songList); 

Consulte Métodos genéricos para obtener más detalles.

A menos que realmente necesite una variable de tipo en el cuerpo del método, simplemente puede usar:

 void onQueryCompleted(int token, List<?> songList); 

El comodín es la manera de ir pero usted desea probablemente una cierta forma de control sobre qué tipo de objeto usted está utilizando.

Basta con que las clases personalizadas (Object1, Object2, …) implemente una interfaz personalizada (CustomSuperInterface) y declare la colección como ésta

 void onQueryCompleted(int token, List<? extends CustomSuperInterface> songList); 
  • Matcher.replaceAll () y String.replaceAll () no parecen funcionar en Galaxy S 6
  • Error de PagerSlidingTabStrip cuando está abierto
  • Configurar Alpha / Opacidad de Diseño
  • Android GCM Java Server - notificación de emisión sin datos de mensajes
  • En Java, ¿cómo verifica si una variable float es null?
  • ¿Es posible anular un método nativo en una clase Java en Android / dalvik?
  • JSON `date (...)` a `java.Util.Date` usando` org.json`
  • Android Horizontal LinearLayout - Envolver elementos
  • El widget de la barra de búsqueda no inicia actividad de búsqueda
  • Acceso a archivos de recursos en Android
  • Encontrar el número total de API que se utilizan en un código fuente de la aplicación de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.