7
votes

Arguments de classe génériques en Java

Donc, je passe des activités et des inventations sur la place dans mon application Android pour gérer le filetage (je suis sûr qu'il y a un meilleur paradigme pour cela, car mon code commence à devenir ennuyeux Spaghetti-Ish - généralement un signe Je ne fais pas quelque chose de vrai).

Mais de toute façon, j'essaie de faire quelque chose comme ceci: p> xxx pré>

Mais cela ne fonctionne pas, car il ne fonctionne pas Il y a une erreur, que P>

protected void loadNextActivity(Class<?> activityToLoad)


1 commentaires

Je suppose que vous n'avez pas vraiment mal orthographié surpostexecute () dans votre code; Si vous l'avez fait, vous devez absolument examiner cela.


3 Réponses :


5
votes

Vous pouvez écrire des caractères génériques comme:

<activity android:name=".com.bla.bla.YourOtherActivity" />


1 commentaires

En effet - cela fonctionne. Et oui, je n'aime certainement pas utiliser la classe ...... Sauf si je ne veux vraiment pas pouvoir accepter un type de classe, que je ne veux presque jamais faire. L'ajout de la contrainte d'activité prolongée fonctionne simplement bien. En ce qui concerne le manifeste, je laisse généralement Eclipse le faire en créant des fichiers d'activité avec elle. Une chose de moins à s'inquiéter...



0
votes

Vos commentaires de votre code disent "si je le fais ici, je vais avoir des erreurs.". Quelles erreurs obtenez-vous? Était-ce que vous aviez un contexte invalide comme argument à Getintent ()? Ou cette startactivité () n'était pas valide? La raison probable était que l'onpostexecute () est appelée d'une classe intérieure, pas l'activité elle-même.

Essayez ceci: p>

  onPostExecute(Void result) {
    Intent intent = new Intent(SomeCoolActivity.this, NextActivity.class);
    startActivity(intent);
  }


1 commentaires

J'avais une erreur d'exécution quand je l'ai fait. Je ne l'avais pas traqué, avant de passer simplement à appeler appelant une méthode en dehors de ma sous-classe de tâches amusante ASYNC, que j'ai pensé était juste un gâchis. Je vais l'essayer à nouveau, et voir si je peux le faire courir comme ça, comme je le peux, si je peux, cela fait beaucoup moins de spaghetti-ishness qui, bien sûr, souffle.



0
votes

sur une note de côté: vous ne voulez pas passer des activités autour et jamais voulez les enregistrer dans une variable. Si vous faites que vous fulgurez la hiérarchie de la vue entière et que vous utiliserez des béliers vraiment rapides.


1 commentaires

D'accord - Bien que je ne transmetce pas de références à des objets d'activité, des classes d'activité que je n'utilise que pour commencer de nouvelles instances.