crée une activité en utilisant le et je reçois un .Withintent () code> ne fonctionne pas dans robolectric 2? Je fais ce qui suit
nullpointeéréxception code> lors de la suivante dans le
Oncreate () code> de mon activité . P>
Robolectric.shadowOf(activity).setIntent(intent);
activity.onCreate(null);
4 Réponses :
Ceci est un cas où une API de style fluide vous conduit au mauvais chemin ...
Vous voulez: P>
activity = Robolectric.buildActivity(MyActivity.class) .withIntent(intent) .create() .get();
J'ai déjà essayé ça. n'a pas fonctionné pour moi. getintent () code> toujours renvoyé null pour moi
Cela n'a pas fonctionné pour moi aussi, donc je viens de prolonger la myactivité et de surcharger surCréate. Là j'ai appelé seintent avec une nouvelle intention.
Edit: Il a été corrigé dans la version 2.2.
< / p> p> J'ai abordé le même problème. Il a été signalé mais aucune solution n'a encore été fournie. Pour l'instant, je parvienne à la pirater à l'aide de l'ensemble de l'activité avant d'appeler Oncreate (), en tirant parti du fait que son cycle de vie n'a pas encore commencé: grève> p>
J'ai compris mon problème. Je n'astancié pas l'intention code> code> correctement. Je l'insantionnais avec le constructeur de no-arg lorsque je devais donner un contexte code> code> et la classe de l'activité code> il a été envoyé à p>
Comment obtenez-vous un contexte?
Ce qui va ici: nouvelle intention (robolectric.application.getaplicationContextex (), ??)
?? devrait être remplacé par l'activité étant construite. Alors myactivity.class
Pour les versions plus récentes de l'utilisation robolectrique robolectric.buildactivity (classe, intention) code>. p>