CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 14 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 35 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 16
Discussione:

exexception mi da null

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. #1
    Baby Droid


    Registrato dal
    May 2014
    Messaggi
    48

    Ringraziamenti
    9
    Ringraziato 0 volte in 0 Posts
    Predefinito

    exexception mi da null

    Salve,
    l'applicazione mi crasha
    l'errore che mi viene da ex.get message e' null!
    grazie
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
    
        <string name="app_name">Halloword</string>
        <string name="hello_world">Hello world!</string>
        <string name="action_settings">Settings</string>
        <string android:id="@+id/android1" android:layout_width="wrap_content" android:layout_height="wrap_content" name="android">Android</string>
        <string android:layout_width="wrap_content" android:id="@+id/string1" android:layout_height="wrap_content" name="androidpiccolo">Android e un sistema operativo interessante ed opensource</string>
    
    </resources>
    e questo
    codice:
    package com.example.halloword;
    
    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;
    import android.support.v4.app.Fragment;
    import android.app.AlertDialog;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.os.Build;
    
    public class MainActivity extends ActionBarActivity {
    private TextView android,summary;
    static final String LOG ="errore";
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    android=(TextView) findViewById(R.id.android);
    summary=(TextView) findViewById(R.id.summary);
    
    try{
    	android.setText(R.string.android);
    }catch(Exception e){
    	
    	Log.d(LOG,"hereitis: "+e.getMessage());
    
    	
    	
    	//String mistake=ex.getMessage();
    	//android.setText("Ecco e' successo"+mistake);
    	//Toast.makeText(this, mistake, Toast.LENGTH_LONG).show();
    }
    
    //summary.setText(R.string.androidpiccolo);
    
    	}
    
    	
    
    }

  2.  
  3. #2
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    Ciao, per prima cosa dovresti usare il metodo getText() quando devi prendere una stringa dalla classe R. Seconda cosa, ottieni un Null Pointer Exception perché "ex" non è dichiarato da nessuna parte. Terzo perché fai il try catch sul metodo setText()? :confused:

  4. #3
    Baby Droid


    Registrato dal
    May 2014
    Messaggi
    48

    Ringraziamenti
    9
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Crotan Visualizza il messaggio
    Ciao, per prima cosa dovresti usare il metodo getText() quando devi prendere una stringa dalla classe R. Seconda cosa, ottieni un Null Pointer Exception perché "ex" non è dichiarato da nessuna parte. Terzo perché fai il try catch sul metodo setText()? :confused:
    Caro Crotan,grazie ma
    con tutta la buona volonta' purtroppo non ti capisco.
    1)innanzitutto il compiler non mi fa applicare questo android.getText(R.string.andro); error message(the method gettext() in textview mode in not applicable for the arguments(int)

    2)anche levando il blocco try/catch( dove e' quindi l ex o e che tu citi e che non capisco dove vada dichiarato) il codice di sotto nonfunziona

    3) faccio il try catch perche' ho appreso su questo meraviglioso forum che a volte puo' essere usato per debbuggare

    infine ho dichiarato un if variabile e' null allora mandami un toast message, ed infatti mi e'stato mandato, quindi la variabile android e' null, in qualche modo e' come se non fosse istanziata
    grazie

    codice:
    package com.example.halloworld;
    
    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;
    import android.support.v4.app.Fragment;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.os.Build;
    
    public class MainActivity extends ActionBarActivity {
    private TextView android,android_summary;
    static final String  LOG="errore";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    android=(TextView) findViewById(R.id.android);
    android_summary=(TextView) findViewById(R.id.android_summary);
    
    
    
    //try{
    	android.setText(R.string.andro);
    //}catch(Exception e){
    	
    	//Log.d(LOG,"hereitis: "+e.getMessage());
    
    	
    	
    	//String mistake=ex.getMessage();
    	//android.setText("Ecco e' successo"+mistake);
    	//Toast.makeText(this, mistake, Toast.LENGTH_LONG).show();
    }
    
    //summary.setText(R.string.androsum);
    
            
        }

  5. #4
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    Quote Originariamente inviato da ndrokki Visualizza il messaggio
    1)innanzitutto il compiler non mi fa applicare questo android.getText(R.string.andro); error message(the method gettext() in textview mode in not applicable for the arguments(int)
    Scusa, mi sono confuso io. Il metodo è getString(). La forma corretta è

    2)anche levando il blocco try/catch( dove e' quindi l ex o e che tu citi e che non capisco dove vada dichiarato) il codice di sotto nonfunziona
    Cosa intendi per non funziona? Crasha?

    3) faccio il try catch perche' ho appreso su questo meraviglioso forum che a volte puo' essere usato per debbuggare
    Sì, quello che dici è vero ma nel tuo caso fai un semplice setText(). Cosa c'è da dover debuggare? L'unico controllo che potresti fare nel caso in cui hai una stringa è vedere se questa sia nulla o meno. Fine.

    infine ho dichiarato un if variabile e' null allora mandami un toast message, ed infatti mi e'stato mandato, quindi la variabile android e' null, in qualche modo e' come se non fosse istanziata
    Certo che non è istanziata. Vedi da qualche parte nel tuo codice un riferimento ad una eccezione chiamata "ex"? Sotto il codice corretto, pulito e indentato.

    codice:
    package com.example.halloworld;
    
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends ActionBarActivity {
    
        TextView android, android_summary;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            android = (TextView)findViewById(R.id.android);
            android_summary = (TextView)findViewById(R.id.android_summary);
    
        try {
             android.setText(getString(R.string.andro));
        } catch(Exception e)  
             //Se vuoi catturare il messaggio d'errore generato da questa eccezione devi usare "e" non "ex"
             android.setText("Ecco e' successo "+e.getMessage());
             Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
    }
    
    //Prima usavi "summary" ma nel codice non c'è nessun oggetto chiamato "summary". Al massimo android_summary.
    android_summary.setText(getString(R.string.androsum));
            
    }

  6. #5
    Baby Droid


    Registrato dal
    May 2014
    Messaggi
    48

    Ringraziamenti
    9
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Crotan Visualizza il messaggio
    Scusa, mi sono confuso io. Il metodo è getString(). La forma corretta è


    Cosa intendi per non funziona? Crasha?
    si esatto anche copiaincollando il codice che mi hai dato tu,

    Sì, quello che dici è vero ma nel tuo caso fai un semplice setText(). Cosa c'è da dover debuggare? L'unico controllo che potresti fare nel caso in cui hai una stringa è vedere se questa sia nulla o meno. Fine.



    Certo che non è istanziata. Vedi da qualche parte nel tuo codice un riferimento ad una eccezione chiamata "ex"? Sotto il codice corretto, pulito e indentato.
    grazie per l aiuto, segue il codice che mi hai dato tu che pure crasha( aggiunte due parentesi graffe ed cambiato androsum to Androsum perche'se no non compilava:


    codice:
    package com.example.halloworld;
    
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends ActionBarActivity {
    
        TextView android, android_summary;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            android = (TextView)findViewById(R.id.android);
            android_summary = (TextView)findViewById(R.id.android_summary);
    
        try {
             android.setText(getString(R.string.andro));
        } catch(Exception e)  {
             //Se vuoi catturare il messaggio d'errore generato da questa eccezione devi usare "e" non "ex"
             android.setText("Ecco e' successo "+e.getMessage());
             Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
    }
    
    //Prima usavi "summary" ma nel codice non c'è nessun oggetto chiamato "summary". Al massimo android_summary.
    android_summary.setText(getString(R.string.Androsum));
            
    }
    }

  7. #6
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    Crasha dove? A quale riga? Con quale eccezione? Se continua a crashare sull'e.getMessage() sai che ti dico? Togli tutto il try-catch perchè secondo me è assolutamente inutile farlo sul metodo setText().

  8. #7
    Baby Droid


    Registrato dal
    May 2014
    Messaggi
    48

    Ringraziamenti
    9
    Ringraziato 0 volte in 0 Posts
    Predefinito

    ciao Crotan,
    grazie per la pazienza
    anche levando il blocco try catch il programma non parte, e nel tutorial che seguivo
    parte anche semplicemente con variabile.setText(r.string.riferimento)

    usando log dentro Logcat mi dice :null, che mi suggerisce lídea che la variabile android non sia stata inizializzata
    levando la riga suddetta ovvero android.setText(getString(R.string.andro));
    il programma parte e non crasha quindi dedurrei senza dubbi che e'questa la riga incriminata
    di piu'' non so cosa dirti che e'il secondo programma che faccio

  9. #8
    Androidiano


    Registrato dal
    Apr 2011
    Località
    Lodi
    Messaggi
    256
    Smartphone
    Samsung S2, Nexus 5

    Ringraziamenti
    5
    Ringraziato 32 volte in 31 Posts
    Predefinito

    e se scrivi:
    android.setText(getString(R.string.androidpiccolo) );

    ???

    Nik
    Vedo tutto attraverso sabbia rossa e deserto...


  10. #9
    Baby Droid


    Registrato dal
    May 2014
    Messaggi
    48

    Ringraziamenti
    9
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ciao Crotan,
    dopo un week end sull'errore ho scoperto che e' un null pointer exception, e che se dal layout sotto text metto sotto text @string/andro funziona, ma da Java setText non riesco a richiamarlo, ho pensato che potrebbe essere dovuto al fatto che forse sotto la directory res layout ho due xml files activity_main.xml e fragment_main.xml e che la string viene creata in strings.xml invece che con ad esempio
    <string name="Andro3">AndroEcco</string>
    con la linea
    <string android:id="@+id/string1" android:layout_height="wrap_content" android:layout_width="wrap_content" name="Andro3">AndroEcco</string>
    cosi ho provato a sostituire, ma niente non funziona l'app crasha sempre se provo a richiamare la stringa con setText(getString(R.string.(variabile));

    ecco il file di logCat
    07-07 04:11:15.040: D/AndroidRuntime(1297): Shutting down VM
    07-07 04:11:15.040: W/dalvikvm(1297): threadid=1: thread exiting with uncaught exception (group=0xb3acaba8)
    07-07 04:11:15.060: E/AndroidRuntime(1297): FATAL EXCEPTION: main
    07-07 04:11:15.060: E/AndroidRuntime(1297): Process: com.example.hallo4, PID: 1297
    07-07 04:11:15.060: E/AndroidRuntime(1297): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hallo4/com.example.hallo4.MainActivity}: java.lang.NullPointerException
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2195)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2245)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.app.ActivityThread.access$800(ActivityThre ad.java:135)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1196)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.os.Handler.dispatchMessage(Handler.java:10 2)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.os.Looper.loop(Looper.java:136)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.app.ActivityThread.main(ActivityThread.jav a:5017)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at java.lang.reflect.Method.invokeNative(Native Method)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at java.lang.reflect.Method.invoke(Method.java:515)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:779)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:595)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at dalvik.system.NativeStart.main(Native Method)
    07-07 04:11:15.060: E/AndroidRuntime(1297): Caused by: java.lang.NullPointerException
    07-07 04:11:15.060: E/AndroidRuntime(1297): at com.example.hallo4.MainActivity.onCreate(MainActiv ity.java:25)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.app.Activity.performCreate(Activity.java:5 231)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1087)
    07-07 04:11:15.060: E/AndroidRuntime(1297): at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2159)
    07-07 04:11:15.060: E/AndroidRuntime(1297): ... 11 more
    07-07 04:11:19.760: I/Process(1297): Sending signal. PID: 1297 SIG: 9

  11. #10
    Androidiano


    Registrato dal
    Apr 2011
    Località
    Lodi
    Messaggi
    256
    Smartphone
    Samsung S2, Nexus 5

    Ringraziamenti
    5
    Ringraziato 32 volte in 31 Posts
    Predefinito

    provi a scrivere

    android.setText(getString(R.string.Andro3) );

    poi fai come vuoi ciao
    Vedo tutto attraverso sabbia rossa e deserto...


Pagina 1 di 2 12 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