J'ai un problème de débutant. Voici ma situation:Nouvelle activité nullpointerexception
Je veux commencer une nouvelle activité de l'activité principale. Le code permettant de lancer la nouvelle activité se trouve dans un fichier de classe distinct. Je semble passer les mauvais arguments et je me retrouve dans une nullpointerexception en essayant de lancer la nouvelle activité. La nouvelle activité se lance correctement lorsque je place le code dans le fichier de classe d'activité principal, donc la deuxième activité et le manifeste sont corrects. Voici un exemple de mon code:
Dans ma classe principale d'activité où j'instancier la deuxième classe (CECI EST MON ACTIVITÉ PRINCIPALE J'OMITTED LE RESTE CAR JE NE PENSE PAS IL EST LIÉE AU PROBLÈME.):
Tester mytest = new Tester();
mytest.test(this);
Dans mon deuxième fichier de classe (CECI EST PAS uNE ACTIVITÉ, IL EST uNE cLASSE instancié DANS l'ACTIVITÉ):
public class Tester extends Activity {
Intent myIntent;
public void test (Context context) {
myIntent = new Intent (Intent.ACTION_VIEW);
myIntent.setClass(context, newActivity.class);
thebutton.setOnClickListener(
new OnClickListener() {
public void onClick(View v) {
startActivity(myIntent);
}
}
):}
Lorsque j'effectue le clic que je reçois un NullPointerException à startactivity. Quelqu'un peut-il m'éclairer s'il vous plaît? Je suis sûr que j'utilise à tort le contexte.
L'onclick (vue v) se trouve dans un fichier de classe distinct. dois-je étendre la classe à l'activité pour pouvoir utiliser startactivity ou d'une autre manière? – Yash
Vous aurez besoin d'un contexte pour utiliser startActivity: http://goo.gl/Wp60 – Juri
Juste pour la curiosité: quelle est la raison d'avoir l'événement onClick dans une classe séparée? Dans votre code ci-dessus: Je ne prolongerais pas d'activité, mais plutôt si vous avez besoin, passez le Contexte de l'activité dans le constructeur de votre classe Tester et ensuite utilisez le contexte pour invoquer des actions comme startActivity (..) etc. – Juri