android activité de constructeur de la classe de travail
Lorsque l'on considère le cas avec android activité, la première méthode de travail est sa onCreate
méthode..droit?
Supposons que je veux passer 2 paramètres pour android activité de la classe de dire UserHome
. Pour qui travaille le constructeur de la classe d'activité UserHome
et d'accepter les params.
Mais quand nous sommes à l'appel d'une activité que nous ne sommes pas de l'initialisation de la classe d'Activité, nous sommes en création d'une intention de UserHome
classe.
Alors, comment pouvons-nous nous passer des paramètres à cette activité à partir d'une autre activité sans l'aide de intent.putExtra("keyName", "somevalue");
utilisation.
Experts préciser comment nous pouvons couvrir ce genre de situation.?
OriginalL'auteur Tijo K Varghese | 2012-01-04
Vous devez vous connecter pour publier un commentaire.
Ne savez pas pourquoi vous ne voulez pas l'intention params. C'est ce qu'ils sont là. Si vous avez besoin de passer les mêmes paramètres à partir de différents endroits dans votre application, vous pouvez envisager d'utiliser un constructeur statique qui s'appuie votre intention de demander pour vous.
Par exemple:
Vous pouvez alors lancer votre activité en appelant le:
ParameterizedActivity.startActivity(this, "First Parameter", "Second Parameter");
Bien qu'il ait été demandé il y a si longtemps, j'espère que je vais obtenir une réponse. Je suis en train d'utiliser cette méthode, mais je reçois un NullPOinterException pour le paramètre de contexte (ce) dans l'appel pour lancer l'activité ParameterizedActivity. Toute idée de ce que pourrait être mal?
Assurez-vous que le Contexte de l'objet passé en n'est pas nulle. Si vous tenez un contexte de référence, assurez-vous qu'il est toujours valide. Rappelez-vous que les activités sont détruits et recréés sur les modifications de configuration comme le changement d'orientation.
OriginalL'auteur Chase
Je peux voir un exemple de situation où vous seriez dans l'impossibilité d'utiliser la méthode standard de transmettre les paramètres via le
Intent
: Lorsque vous êtes en train de créer une activité qui sera lancé par une autre application (par exemple, les modifier l'activité d'un Tasker plugin) et, par conséquent, n'ont pas de contrôle sur leIntent
qui va lancer votre activité.Il est possible de créer un
Activity
qui accepte des paramètres dans son constructeur. Le truc, cependant, est de ne pas l'utiliser directement, mais l'utilisation d'un dérivé de la classe avec un constructeur par défaut qui appellesuper()
avec les arguments appropriés, comme tel:Naturellement, si vous avez besoin de générer les paramètres à passer à
BaseActivity()
, vous pouvez simplement remplacer les valeurs codées en dur par des appels de fonction.OriginalL'auteur Trebor Rude
Nous pouvons passer la valeur à partir de l'activité parent-enfant, l'activité à l'aide du logiciel de collecte et partagée de préférence.
1. Partagé Préférence
2. Bundle Collection
Le passage des données de paramètre ou à une autre Activité Android
OriginalL'auteur jennifer
Mais vous pouvez également créer très bien un constructeur de UserHome.
Pourquoi pensez-vous que n'est pas possible d'initialiser un constructeur?..MainActivity est une classe comme les autres, juste que s'étend l'Activité, mais également en garde les propriétés d'une classe, de sorte que peut avoir, les constructeurs, les méthodes, les membres de l'.
OriginalL'auteur Dany's