J'ai une classe de viewholder générique pour recyclerview qui utilise MapView à l'intérieur de cette ligne, et la classe de viewholder étend ma classe abstraite de viewholderholder de base qui a populateData (TO à), j'initialise map dans le constructeur de ma classe de viewholder et passe null à mapview.onCreate (null).Je ne suis pas capable de comprendre comment passer Bundle dans mapview.onCreate() dans la classe de viewholder personnalisée
mes cours sont ressembler à ceci
public class MyViewHolder extends BaseViewHolder implements OnReadyMapCallBack{
private MapView mapView;
public MyViewHolder(View view){
mapView = view.findViewById(R.id.map);
mapView.onCreate(null); //here i should pass Bundle instead
}
// this method is declared in parent class abstract class
@override
public void populateData(TO to){
mapView.getAsync(this);
}
public void onMapReady(GoogleMap googleMap) {
}
}
je n'ai pas essayé cette approche .. je vais l'essayer définitivement, merci pour la réponse. mon seul souci est la façon dont j'intègre la vue de la carte dans la classe de non-activité pourrait causer des bugs? parce que mapFragment a son propre cycle de vie et que je n'utilise aucune méthode de cycle de vie. –
Il suffit de suivre cela et de mettre le paquet comme je l'ai mentionné. Si vous implémentez toutes les méthodes du cycle de vie, tout ira bien! https://developers.google.com/android/reference/com/google/android/gms/maps/MapView.html#onCreate(android.os.Bundle) – TzlilPha
mais c'est un détenteur de recyclerview qui sera utilisé au moment de gonfler la rangée de recyclerview, donc je dois configurer l'implémentation de la carte dans le viewholder lui-même et non dans un fragment. –