Autore Topic: Problema controllo inserimento in una EditText  (Letto 897 volte)

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Problema controllo inserimento in una EditText
« il: 28 Aprile 2011, 18:01:22 CEST »
0
L'applicazione mi crasha e non riesco a capire il perchè!
Qualcuno saprebbe correggere correttamente questo codice?
vorrei solo che premendo il pulsante "invia" mi cambi Intent solo se la edittext contiene numeri decimali.

Codice: [Seleziona]
package michele.android;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


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

 
     // Dichiarazione dei widget       
        final Button inviatav=(Button) findViewById(R.id.ButtonInviaTavolo);
        final EditText EdTxtnumTav=(EditText) findViewById(R.id.EditTextNumeroTavolo);
        String str0 = EdTxtnumTav.getText().toString();
 
        // Pressione del pulsante
                public void ButtonInviaTavolo (View view) {
            Context context = getBaseContext();
 
            //Lettura del contenuto di EditText nella stringa   
            String str0 = EdTxtnumTav.getText().toString();
            try {       
                float edText = Float.parseFloat( str0 );
                Intent myIntent = new Intent(context, sceltacibo.class);
                     startActivityForResult(myIntent, 0);
                     Toast.makeText(sceltatavolo.this,"Tavolo inserito correttamente",Toast.LENGTH_LONG).show();
           }
           
            catch(NumberFormatException e) {
                    Toast.makeText(sceltatavolo.this,"Inserisci numero tavolo!",Toast.LENGTH_LONG).show();
           }                 
 
                     
 
            }
}

Offline teopozzi

  • Utente junior
  • **
  • Post: 67
  • Respect: +1
    • Mostra profilo
Re:Problema controllo inserimento in una EditText
« Risposta #1 il: 28 Aprile 2011, 18:23:10 CEST »
0
che errore ti da, cosa dice il logcat????

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Re:Problema controllo inserimento in una EditText
« Risposta #2 il: 28 Aprile 2011, 18:38:15 CEST »
0
appena apro l'activity questo è il logcat:

Codice: [Seleziona]
04-28 18:36:15.053: INFO/ActivityManager(132): Displayed activity michele.android/.inizio: 3124 ms (total 126360 ms)
04-28 18:36:18.983: INFO/ActivityManager(132): Starting activity: Intent { cmp=michele.android/.sceltatavolo }
04-28 18:36:24.063: WARN/WindowManager(132): No window to dispatch pointer action 0
04-28 18:36:24.203: WARN/WindowManager(132): No window to dispatch pointer action 1
04-28 18:36:29.005: WARN/ActivityManager(132): Launch timeout has expired, giving up wake lock!
04-28 18:36:29.115: WARN/ActivityManager(132): Activity idle timeout for HistoryRecord{43e09aa8 michele.android/.sceltatavolo}
04-28 18:36:34.243: DEBUG/dalvikvm(329): GC_EXPLICIT freed 406 objects / 24576 bytes in 133ms
04-28 18:36:46.743: DEBUG/dalvikvm(5460): GC_EXPLICIT freed 107 objects / 5952 bytes in 103ms

Offline teopozzi

  • Utente junior
  • **
  • Post: 67
  • Respect: +1
    • Mostra profilo
Re:Problema controllo inserimento in una EditText
« Risposta #3 il: 28 Aprile 2011, 18:44:12 CEST »
0
oltre a questo ci dovrebbero essere delle informazioni scritte in rosso che dicono l'errore, riesci a postarle????

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Re:Problema controllo inserimento in una EditText
« Risposta #4 il: 28 Aprile 2011, 18:50:33 CEST »
0
in rosso c'è solamente questo:

04-28 18:45:26.663: ERROR/JavaBinder(132): !!! FAILED BINDER TRANSACTION !!!
04-28 18:45:26.663: ERROR/JavaBinder(132): !!! FAILED BINDER TRANSACTION !!!

Offline teopozzi

  • Utente junior
  • **
  • Post: 67
  • Respect: +1
    • Mostra profilo
Re:Problema controllo inserimento in una EditText
« Risposta #5 il: 28 Aprile 2011, 19:29:08 CEST »
0
ecco una piccola soluzione:


public class sceltatavolo extends Activity {
   
   String str0;
   String park;
   int p;
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sceltatavolo);

 
        // Dichiarazione dei widget       
        final Button inviatav = (Button) findViewById(R.id.ButtonInviaTavolo);
        final EditText EdTxtnumTav = (EditText) findViewById(R.id.EditTextNumeroTavolo);
       
        park = EdTxtnumTav.getText().toString();
        p = park.length();
       
        // Pressione del pulsante
        inviatav.setOnClickListener(new OnClickListener(){
         public void onClick(View v) {
            try {     
               //Lettura del contenuto di EditText nella stringa   
               String edText = EdTxtnumTav.getText().toString();
               int c = edText.length();
               if(p == c){
                  Intent myIntent = new Intent(sceltatavolo.this, sceltacibo.class);
                                                //invia il dato all'activity sceltacibo
                  myIntent.putExtra("edText", edText);
                  startActivity(myIntent);
               }else{
                  Toast.makeText(sceltatavolo.this,"Tavolo inserito non correttamente",Toast.LENGTH_LONG).show();
               }
               
            }
            catch(NumberFormatException e) {
               // TODO: Devi inserire un numero!
            }
            //Toast.makeText(sceltatavolo.this,"Tavolo inserito correttamente",Toast.LENGTH_LONG).show();
                    
         }
      });   
   }
}

una cosa che puo fare è anche impostare l'input del EditText mettendo numberDecimal

Offline teopozzi

  • Utente junior
  • **
  • Post: 67
  • Respect: +1
    • Mostra profilo
Re:Problema controllo inserimento in una EditText
« Risposta #6 il: 28 Aprile 2011, 19:32:30 CEST »
0
e come testo iniziale dentro all'editText mettici 0.0

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Re:Problema controllo inserimento in una EditText
« Risposta #7 il: 28 Aprile 2011, 23:33:40 CEST »
0
Grazie mille tutto ok ora! ;-)