CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 4eyes81 con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Pagina 2 di 3 primaprima 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 11 a 20 su 27
Discussione:

Programmazione: app calcolatrice

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #11
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    Invochiamolo!!!

    MODERAAATOOOOREEEEEEEEE
    _Il passante, in quanto tale, passò

  2.  
  3. #12
    Senior Droid


    Registrato dal
    Dec 2010
    Messaggi
    333

    Ringraziamenti
    21
    Ringraziato 16 volte in 15 Posts
    Predefinito

    Quote Originariamente inviato da Ferri Visualizza il messaggio
    Salv0 ultima cosa...

    Per gestire l eccezione che si crea quando clikko su un operazione (+ * - /) e negli Edit non c è niente, come faccio a non far andare in crash l app ma creare pup up di avviso?

    (TELO GIURO CHE QUANDO LA PUBBLICHERO' PER TE SARA' IN REGALO )
    mi devi far vedere come lo usi :P postami il codice e te lo controllo
    Devices:Nexus 4, Nexus 7, HTC Desire HD
    Apps: WiMinimalFi --- Minimal Data Enabler --- SoliPiramide --- Sensors Explorer --- WiMinimalFi Pro

  4. #13
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    OK DOC/PROF ;D

    codice:
    public class CalcolatriceActivity extends Activity{
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button pressButton = (Button) findViewById(R.id.BPiu);
            final TextView outputView = (TextView) findViewById(R.id.widget33);
    		pressButton.setOnClickListener(new OnClickListener() {
    			public void onClick(View v) {	
    				EditText EditOne = (EditText) findViewById(R.id.Edit1);
    				String text = EditOne.getText().toString();
    				int i = Integer.parseInt(text);
    				if (text == "") {
    					outputView.setText("Devi inserire un numero");
    				}
    				else{				
    					EditText EditTwo = (EditText) findViewById(R.id.Edit2);				
    					String text2 = EditTwo.getText().toString();				
    					int i2 = Integer.parseInt(text2);
    					if (text2 == "") { //**	quì voglio gestire quando clikka su un operazione senza aver inserito niente
    						alert("testo"); 
    					}
    					else{
    						int somma = i + i2;
    						String s = new Integer(somma).toString();
    						outputView.setText(s);
    					}
    				}
    			}
    		});
    _Il passante, in quanto tale, passò

  5. #14
    Senior Droid


    Registrato dal
    Dec 2010
    Messaggi
    333

    Ringraziamenti
    21
    Ringraziato 16 volte in 15 Posts
    Predefinito

    Allora il problema è quando scrivi

    codice:
    String text = EditOne.getText().toString();
    int i = Integer.parseInt(text);
    se text è vuoto ( "" ) allora verrà sollevata una exception di tipo NumberFormatException.
    Quindi prima di fare il parseInt devi mettere il controllo, puoi usare uno di questi a tuo piacimento:

    codice:
    getText().toString().equals("") 
    
    getText().length() == 0
    Anche facendo ciò il problema persiste però, perchè se permetti di inserire un numero non parsabile da parseInt ( ad esempio viene inserito 12uff3 ) riceverai una bella NumberFormatException.
    Per evitare anche questo, devi restringere l'input dell'editText nell' XML aggiungendo la propietà numeric, ad esempio:
    codice:
    <EditText
     android:id="@+id/Edit1"
     android:numeric="integer|decimal" />
    Devices:Nexus 4, Nexus 7, HTC Desire HD
    Apps: WiMinimalFi --- Minimal Data Enabler --- SoliPiramide --- Sensors Explorer --- WiMinimalFi Pro

  6. #15
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    Quote Originariamente inviato da Salv0 Visualizza il messaggio
    codice:
    <EditText
     android:id="@+id/Edit1"
     android:numeric="integer|decimal" />
    questo già disposto

    adesso provo uno dei due metodi, ma quindi applico un try-catch con parametri di catch(NumberFormatException e) ??
    _Il passante, in quanto tale, passò

  7. #16
    Senior Droid


    Registrato dal
    Dec 2010
    Messaggi
    333

    Ringraziamenti
    21
    Ringraziato 16 volte in 15 Posts
    Predefinito

    Quote Originariamente inviato da Ferri Visualizza il messaggio
    questo già disposto

    adesso provo uno dei due metodi, ma quindi applico un try-catch con parametri di catch(NumberFormatException e) ??
    se sposti il controllo su stringa vuota prima di fare il parse non ne hai bisogno sennò si
    Devices:Nexus 4, Nexus 7, HTC Desire HD
    Apps: WiMinimalFi --- Minimal Data Enabler --- SoliPiramide --- Sensors Explorer --- WiMinimalFi Pro

  8. #17
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    Non capisco Prof...allora se io metto quel controllo getText().toString().equals("");, prima du tutto a cosa lo applico?EditOne?

    tipo EditOne.getText().toString().equals(""); lo sbatto dentro ad un if

    if true then { cosa faccio per fau uscire l allert?}
    else { tutto il codice di calcolo }
    _Il passante, in quanto tale, passò

  9. #18
    Senior Droid


    Registrato dal
    Dec 2010
    Messaggi
    333

    Ringraziamenti
    21
    Ringraziato 16 volte in 15 Posts
    Predefinito

    Allora..tu hai messo

    if (text == "")

    dopo il parseInt. Se il text è effettivamente vuoto, là non ci arrivi perchè parseInt solleva una exception quindi basta che fai:


    codice:
    String text = EditOne.getText().toString();
    int i = 0;
    if( text == "" ) // o uno dei metodi che ti ho scritto sotto è indifferente
         outputView.setText("Devi inserire un numero");
    else
      i = Integer.parseInt(text);

    O una cosa del genere..dipende da cosa vuoi farci ^^
    Devices:Nexus 4, Nexus 7, HTC Desire HD
    Apps: WiMinimalFi --- Minimal Data Enabler --- SoliPiramide --- Sensors Explorer --- WiMinimalFi Pro

  10. Il seguente Utente ha ringraziato Salv0 per il post:

    Ferri (19-02-11)

  11. #19
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    Ho copiato e incollato il code ma se non inserisco niente (nemmeno 0) in Edit1, e cliccko sul BPiù, mi da errore con chiusura forzata app
    _Il passante, in quanto tale, passò

  12. #20
    Senior Droid


    Registrato dal
    Dec 2010
    Messaggi
    333

    Ringraziamenti
    21
    Ringraziato 16 volte in 15 Posts
    Predefinito

    Quote Originariamente inviato da Ferri Visualizza il messaggio
    Ho copiato e incollato il code ma se non inserisco niente (nemmeno 0) in Edit1, e cliccko sul BPiù, mi da errore con chiusura forzata app
    fammi vedere come hai fatto xD
    Devices:Nexus 4, Nexus 7, HTC Desire HD
    Apps: WiMinimalFi --- Minimal Data Enabler --- SoliPiramide --- Sensors Explorer --- WiMinimalFi Pro

Pagina 2 di 3 primaprima 123 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy