Dimensione testo TextView

di Anonimizzato13383 il
22 risposte

22 Risposte - Pagina 2

  • Di niente, comunque il LogCat è sempre un must per trovare gli errori!


    Inviato dal mio iPhone utilizzando Tapatalk
  • Un'altra cosa, vorrei che quando si clicca il tasto menu (i tre puntini in alto a destra per capirci) ci sia un'opzione per cancellare il contenuto della textview, è possibile?
  • Si, per cancellare una textview basta settare un testo vuoto (cioè ""). Per il menù, invece, è leggermente più complicato, perché devi creare un file xml nella cartella "menu" e poi "caricarlo" tramite codice (credo che il metodo da sovrascrivere si chiami "onCreateOptionsMenu"). Puoi leggere tutto sulla documentazione (in inglese ovviamente)


    Inviato dal mio iPhone utilizzando Tapatalk
  • Ok ho creato il menu, ma per fare quello che dico devo mettere l'istanziazione della textview prima del metodo oncreate, cosi da utilizzarla nel metodo onOptionsItemSelected, pero mi crasha l'app. Il logcat è il seguente:
    FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mio.test/com.mio.test.MainActivity}: java.lang.NullPointerException
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2219)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
    at android.app.ActivityThread.access$700(ActivityThread.java:159)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:176)
    at android.app.ActivityThread.main(ActivityThread.java:5419)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
    at dalvik.system.NativeStart.main(Native Method)
    Caused by: java.lang.NullPointerException
    at android.app.Activity.findViewById(Activity.java:1914)
    at com.mio.test.MainActivity.<init>(MainActivity.java:25)
    at java.lang.Class.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1130)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2210)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
                at android.app.ActivityThread.access$700(ActivityThread.java:159)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:176)
                at android.app.ActivityThread.main(ActivityThread.java:5419)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:525)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
                at dalvik.system.NativeStart.main(Native Method)
  • L'unica cosa che devi fare è creare una variabile d'istanza per la textview invece di una variabile locale all'onCreate. L'istanziazione poi avviene in automatico quando fai la setContentView


    Inviato dal mio iPhone utilizzando Tapatalk
  • Puoi spiegarti meglio? magari con un codice
  • Il codice a grandi linee deve essere:
    
    public class MainActivity extends Activity {
        private TextView tv;
    
        protecred void onCreate(...) {
            setContentView(...);
            tv = (TextView) findViewById(...);
            ...
        }
       
        //qua metti l'onCreateOptionsMenu
        ...
    }
    
    L'ho scritto dal telefono, potrebbero esserci errori


    Inviato dal mio iPhone utilizzando Tapatalk
  • Grazie ancora! Funziona perfettamente!
Devi accedere o registrarti per scrivere nel forum
22 risposte