Je veux utiliser un bouton pour passer les paramètres de sélection à une autre classe qui va construire un écran de carte en utilisant les paramètres transmis. Je suis concentré sur le fonctionnement de mon bouton. Je l'aide un onCLickListener et onCLickView comme suiten utilisant onClickView pour appeler une autre classe
Class1:
public class Class1 extends Activity implements OnClickListener {
Class2 class2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
..........
Button button = (Button)findViewById(R.id.btn_configup1);
button.setOnClickListener(this);
}
public void onClick(View v) {
Class2 class2 = new Class2();
//Save state.. selections and params and use bundle
//to pass into class2
class2.execMapBuild();
}
}
Class2:
Classe2 public class étend MapActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.drawable.navup);
}
public void execMapBuild() {
finish(); //just in case we return.
Intent intent = new Intent(CLass2.this, Class2.class);
startActivity(intent);
}
J'ai tout fonctionne, sauf l'action du bouton désiré. Je veux que le bouton clique dans Class1.onVlickView pour appeler Class2.execMapBuild en utilisant l'action de clic sur le bouton. J'ai le clic sur le bouton capturant l'action et appelant la méthode execMapBuild sur Class2. Mais j'obtiens une exception NullPointerException lorsqu'elle passe de startActivity (intention) à onCreate.
J'ai essayé plusieurs autres façons de clouer cela, mais cela semble le meilleur et je semble proche de le découvrir. J'apprécierais vraiment une explication de ce que je peux manquer. Code ajouté qui n'a pas été copié initialement.
C'est ma faute en copiant le code dans la fenêtre ici. Class2 étend MapActivity dans mon code actuel. – apesa
Le même principe s'applique, vous ne pouvez pas l'instancier directement en utilisant le mot clé 'new', et vous ne pouvez pas appeler directement ses méthodes. Vous devez créer un Intent et appeler startActivity(). –
En fait, Class2 étend MapActivity. J'ai substitué Class1 et Class2 pour le rendre plus propre dans la question. Je veux vraiment savoir quelle serait la meilleure façon de faire de Class1.onClickView en Class2.execMapBuild. Dans execMapBuiold, je vais créer les données pour mon ItemizedOverlay. Une fois terminé, je veux passer à onCreate. J'espère que je ne dérange personne. – apesa