2010-06-01 6 views
0

Je suis tout nouveau dans le développement Android et je suis en train de construire une calculatrice simple pour les travailleurs de la santé. Mon programme implémente la classe OnClickListener, mais chaque fois que je clique sur le bouton pour lancer le calcul, j'obtiens une erreur disant que la "Source n'est pas trouvée".Erreur OnClickListener: Source non trouvée

Voici le code:

public class KidneyeGFR extends Activity implements OnClickListener { 
TextView EditAge; 
TextView EditSerum; 
TextView Gfrtext; 
RadioButton Male; 
RadioButton Female; 
RadioButton EveryoneElse; 
RadioButton African; 
Button Calculate; 
double gender; 
double race; 
double finalgfr; 
private static final int GFRCONST = 186; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    EditAge = (TextView)this.findViewById(R.id.EditAge); 
    EditSerum = (TextView)this.findViewById(R.id.EditSerum); 

    Male = (RadioButton)this.findViewById(R.id.Male); 
    Male.setChecked(true); 
    Female = (RadioButton)this.findViewById(R.id.Female); 

    EveryoneElse = (RadioButton)this.findViewById(R.id.EveryoneElse); 
    EveryoneElse.setChecked(true); 
    African = (RadioButton)this.findViewById(R.id.African); 

    Calculate = (Button)this.findViewById(R.id.Calculate); 
    Calculate.setOnClickListener(this); 

} 

public void onClick(View v) { 
    if (Female.isChecked()) { 
     gender = 0.742; 
    } 
    else { 
     gender = 1.0; 
    } 
    if (African.isChecked()) { 
     race = 1.212; 
    } 
    else { 
     race = 1.0; 
    } 
    calculateGFR(); 
} 


protected void calculateGFR() { 
    int age = Integer.parseInt(EditAge.getText().toString()); 
    double serum = Double.parseDouble(EditSerum.getText().toString()); 
    finalgfr = GFRCONST * Math.pow(serum, -1.154) * Math.pow(age, -0.203) * gender * race; 
    Gfrtext.setText(Double.toString(finalgfr)); 
} 

Répondre

1

définir la TextView Gfrtext ...

Gfrtext = (TextView)this.findViewById(R.id.Gfrtext); 

En fait, vous obtenez un NullPointerException, vérifiez la LogCat ou la vue de débogage pour avoir des détails plus spécifiques au sujet de votre exceptions d'application.

C'est le gros problème !!! =)

+0

Merci, mon pote. Malheureusement, maintenant je reçois cette erreur au niveau de la hiérarchie du projet. Erreur inconnue: javax.xml.xpath.XPathExpressionException – Sachin

+0

Postez votre code. – Jorgesys

+0

Pour le manifeste ou la mise en page? – Sachin

0

Je pense que vous manquez l'initialisation Female/Afrique/Editage/etc. dans la méthode onCreate. Ici, vous devez charger tout cela en utilisant la méthode findViewById. Cela peut facilement être vérifié lors du débogage (essayez de placer un point d'arrêt sur la première ligne de la méthode onClick). A propos, la convention en Java est que les membres et les méthodes d'un objet commencent toujours par un minuscule et que les noms d'objets commencent par une majuscule.

+1

Désolé, Voici le code source non abrégé. – Sachin

+0

Ok, ce n'est pas le problème. Mais avez-vous essayé le débogage? – Marc

+0

qu'avez-vous eu dans le logCat ??? – Jorgesys

0

Votre code n'a aucun problème! des thats une exception Eclipse Cochez cette ... Eclipse debugging “source not found”

+0

Merci, mais j'ai regardé cette question et il ne semble pas aborder le même problème. Ou peut-être que oui, mais je ne pouvais pas l'utiliser comme une solution pour ma situation. J'ai mis en place un tas de points d'arrêt et il semble que l'erreur se produit juste après la méthode calculateGFR a traversé. – Sachin

+0

Il ressemble à d'autres postes que j'ai besoin de télécharger le code source Android .... – Sachin

Questions connexes