2010-07-02 4 views
1

Humm ... Je peux le faire facilement en Java (et toutes les autres langues), mais il ne semble pas fonctionner sous Android.Chaîne à Integer ne fonctionne pas

Je veux simplement obtenir un nombre entier entré par l'utilisateur, appuyer sur un bouton et faire quelques calculs simples, puis l'afficher. J'utilise un TextEdit (j'ai aussi essayé un TextView) et j'ai essayé de nombreuses approches différentes, mais aucune ne fonctionne. Le code lui-même n'a pas d'erreurs et je peux faire le calcul et l'afficher si vous utilisez des constantes.

Le problème est soit l'analyse syntaxique à un entier (cependant, le code ligne semble ok, même si elle est un peu différent de ce que j'utilise en Java pur

Toute aide est la bienvenue -. Je suis que c'est simple et j'ai lu beaucoup de messages connexes pour cela, y compris le site Dev Android - mais ...

est ici le court code complet:

package com.bt.strint; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class string_integer extends Activity { 
    /** Called when the activity is first created. */ 
    int aa = 3; 
    int y=33; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     final TextView input = (TextView) findViewById(R.id.EditText01);   
     final Button btn = (Button) findViewById(R.id.Button01); 
     final TextView showMe = (TextView) findViewById(R.id.TextView01); 

     btn.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

      //showMe.setText("meow");  //ok    
      //showMe.setText(String.valueOf(y * 7)); // ok 
      y = Integer.parseInt((String) input.getText()); 
      showMe.setText(String.valueOf(y)); 
     } 
     });  
    } 
} 

Répondre

3

vous voulez utiliser input.getText().toString(), au lieu de (String) input.getText(), vous ne peut pas lancer un CharSeq à String.