-1

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) { 
} 
} 

Répondre

0

enter image description here Vous cette rectifié:

Bundle args = new Bundle(); 
    args.putString("key",value); 

    mapView.onCreate(args); 

?

+0

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. –

+0

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

+0

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. –