CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: carotix con ben 12 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 26 Thanks ricevuti nell'ultimo mese

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

problema setEnable(true)

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
    Greg
    Guest
    Predefinito

    problema setEnable(true)

    Salve ho un problema quando cerco di abilitare un bottone con setEnable(true):
     
    1
    2
    findViewById(R.id.Bottone).setEnabled(true);
    3

    non capisco perchè ma nel log mi dice fatal exception : main java.lang.NullPointerException.

  2.  
  3. #2
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Quote Originariamente inviato da Greg Visualizza il messaggio
    Salve ho un problema quando cerco di abilitare un bottone con setEnable(true):
    3
     
    1
    2
    findViewById(R.id.Bottone).setEnabled(true);
    3

    non capisco perchè ma nel log mi dice fatal exception : main java.lang.NullPointerException.
    Hai chiamato la setContentView passando il layout corretto prima di chiamare questo metodo?

  4. #3
    Greg
    Guest
    Predefinito

    si si !!! :/

  5. #4
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Se posti un po' di codice magari qualcuno ti può aiutare, così è un po' difficile indovinare il problema...

  6. #5
    Greg
    Guest
    Predefinito

    172
     
    1
    public class Login extends Activity{
    2
    3
    4
        @Override
    5
        public void onCreate(Bundle savedInstanceState) {
    6
    7
            super.onCreate(savedInstanceState);
    8
            setContentView(R.layout.login);
    9
    10
            // Recupero dati dei componenti EditText
    11
            final EditText EditParkcard = (EditText) findViewById(R.id.codiceParkcard);
    12
            final EditText EditCodicePin = (EditText) findViewById(R.id.codicePin);
    13
    14
    15
    16
            //bottone ENTRA     
    17
            View.OnClickListener entra = new View.OnClickListener() {
    18
    19
                public void onClick(View v) {
    20
    21
                    System.out.println("click!");
    22
    23
                    System.out.println("parkcard: "+EditParkcard.getText().toString()+" pin: "+EditCodicePin.getText().toString());
    24
    25
                    boolean output = new ClientWS().invoke(EditParkcard.getText().toString(),EditCodicePin.getText().toString());
    26
    27
    28
    29
                    //se i dati inseriti sono corretti
    30
                    if(output){
    31
                        //----------------  toast 
    32
                        Toast toast = Toast.makeText(Login.this,"dati inseriti correttamente!", Toast.LENGTH_SHORT);
    33
                        toast.setGravity(Gravity.CENTER, 0, 0);
    34
                        toast.show();
    35
    36
    37
                        //salvataggio dati di login all'interno di un file
    38
                        String FILENAME = "dati";
    39
                        String parkcard = EditParkcard.getText().toString();
    40
                        String pin = EditCodicePin.getText().toString();
    41
    42
                        System.out.println("i dati vengono salvati in: "+getFilesDir());
    43
                        System.out.println("la lista dei file salvati: ");
    44
                        String[] listaFile = fileList();
    45
                        for(int i =0 ; i<listaFile.length ;i++){
    46
                            System.out.println(i+1+") "+listaFile[i]);
    47
                        }
    48
    49
                        FileOutputStream fos = null;
    50
                        try {
    51
    52
                            System.out.println("1)creazione apertura del file : ["+FILENAME+"]");
    53
                            fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
    54
    55
                        } catch (FileNotFoundException e) {
    56
                            System.out.println(" - errore creazione/apertura file! -");
    57
                            e.printStackTrace();
    58
                        }
    59
                        try {
    60
                            System.out.println("1)scrittura nel file : ["+FILENAME+"] del parkcard:"+parkcard+" e del pin:"+pin);
    61
                            fos.write(parkcard.getBytes());
    62
                            fos.write(pin.getBytes());
    63
    64
                        } catch (IOException e) {
    65
                            e.printStackTrace();
    66
                            System.out.println(" - errore scrittura file! -");
    67
                        }
    68
                        try {
    69
                            System.out.println("1)chiusura del file : ["+FILENAME+"]");
    70
                            fos.close();
    71
                        } catch (IOException e) {
    72
                            System.out.println(" - errore chiusura file! -");
    73
                            e.printStackTrace();
    74
                        }
    75
    76
    77
    78
                        //si devono abilitare i bottoni del MAIN: userInfo,inizioSosta,FineSosta,InfoParcheggio
    79
    80
    System.out.println("- abilitazione bottoni in corso...");
    81
    82
                        Button InizioSosta = (Button)findViewById(R.id.InizioSosta);
    83
                        InizioSosta.setEnabled(true);  //<= (((PROBLEMA))
    84
    85
                        Button FineSosta = (Button)findViewById(R.id.FineSosta);
    86
                        FineSosta.setEnabled(true);
    87
    88
                        Button UserInfo = (Button)findViewById(R.id.UserInfo);
    89
                        UserInfo.setEnabled(true);
    90
    91
                        Button InfoParcheggio = (Button)findViewById(R.id.InfoParcheggio);
    92
                        InfoParcheggio.setEnabled(true);
    93
    94
                        System.out.println("- abilitazione eseguita correttamente!!!");
    95
    96
    97
                        //se tutto è andato a buon fine si ritorna alla pagina main con i bottoni abilitati
    98
                        Intent ips = new Intent(Login.this, MainActivityTelepark.class);
    99
                        startActivity(ips); 
    100
    101
                    }
    102
                    else{
    103
                        //----------------  toast 
    104
                        Toast toast = Toast.makeText(Login.this,"I dati inseriti non sono corretti! riprova..", Toast.LENGTH_LONG);
    105
                        toast.setGravity(Gravity.CENTER, 0, 0);
    106
                        toast.show();
    107
                    }
    108
                }
    109
            };
    110
    111
            Button Entra = (Button) findViewById(R.id.Entra);
    112
            Entra.setOnClickListener(entra);
    113
    114
    115
    116
    117
            //bottone INDIETRO      
    118
            View.OnClickListener indietro = new View.OnClickListener() {
    119
    120
                public void onClick(View v) {
    121
    122
                    Intent ips = new Intent(Login.this, MainActivityTelepark.class);
    123
                    startActivity(ips); 
    124
                }
    125
            };
    126
    127
            Button Indietro = (Button) findViewById(R.id.Indietro);
    128
            Indietro.setOnClickListener(indietro);
    129
    130
    131
            //bottone LOGOUT        
    132
            View.OnClickListener logout = new View.OnClickListener(){ 
    133
    134
                public void onClick(View v) {
    135
    136
                    //Intent ips = new Intent(Login.this, MainActivityTelepark.class);
    137
                    //startActivity(ips);
    138
    139
                    //-----------------  alert dialog
    140
                    //Creo una finestra di dialogo
    141
                    AlertDialog.Builder alertDialog = new AlertDialog.Builder(Login.this);
    142
                    //Setto il titolo del dialog
    143
                    alertDialog.setTitle("Conferma");
    144
                    //Setto il messaggio da visualizzare
    145
                    alertDialog.setMessage("Sei sicuro di voler effettuare il logout?");
    146
                    //Disabilito il tasto fisico del dispositivo
    147
                    alertDialog.setCancelable(false);
    148
                    //Aggiungo il tasto di chiusura del dialog
    149
                    alertDialog.setNegativeButton("Annulla", new DialogInterface.OnClickListener() {
    150
                        //Alla pressione del pulsante "chiudi" distruggo il dialog
    151
                        public void onClick(DialogInterface dialog, int which) {
    152
                            dialog.dismiss();
    153
                        }
    154
                    });
    155
                    //Aggiungo il tasto di conferma del dialog
    156
                    alertDialog.setPositiveButton("Si", new DialogInterface.OnClickListener() {
    157
                        //Alla pressione del pulsante "chiudi" distruggo il dialog
    158
                        public void onClick(DialogInterface dialog, int which) {
    159
                            dialog.dismiss();
    160
                        }
    161
                    });
    162
    163
                    //Mostro il dialog
    164
                    alertDialog.show();
    165
                }
    166
            };
    167
    168
            Button Logout = (Button) findViewById(R.id.Logout);
    169
            Logout.setOnClickListener(logout);
    170
    171
        }
    172

  7. #6
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Qual è la findViewByID che ti da problemi, a che numero di riga sta?
    Puoi postare anche il file di layout login.xml?

  8. #7
    Greg
    Guest
    Predefinito

    la riga 83
    <?xml version="1.0" encoding="utf-8"?>
    <AbsoluteLayout
    android:id="@+id/widget0"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <ImageView
    android:id="@+id/settings"
    android:layout_width="97px"
    android:layout_height="90px"
    android:layout_x="110px"
    android:layout_y="22px"
    android:src="@drawable/settings"
    >
    </ImageView>
    <Button
    android:id="@+id/Logout"
    android:layout_width="80px"
    android:layout_height="wrap_content"
    android:text="Logout"
    android:textStyle="bold"
    android:layout_x="218px"
    android:layout_y="42px"
    >
    </Button>
    <Button
    android:id="@+id/Indietro"
    android:layout_width="80px"
    android:layout_height="wrap_content"
    android:text="Indietro"
    android:textStyle="bold"
    android:layout_x="20px"
    android:layout_y="42px"
    >
    </Button>
    <Button
    android:id="@+id/Entra"
    android:layout_width="143px"
    android:layout_height="wrap_content"
    android:text="Entra"
    android:textStyle="bold"
    android:layout_x="90px"
    android:layout_y="342px"
    >
    </Button>
    <TextView
    android:layout_height="wrap_content"
    android:text="codice Parkcard"
    android:id="@+id/widget33"
    android:layout_width="62px"
    android:layout_x="24px"
    android:layout_y="161px"
    >
    </TextView>
    <TextView
    android:layout_height="wrap_content"
    android:text="codice Pin"
    android:id="@+id/widget34"
    android:layout_width="wrap_content"
    android:layout_x="22px"
    android:layout_y="238px"
    >
    </TextView>
    <EditText
    android:id="@+id/codicePin"
    android:textSize="18sp"
    android:layout_height="wrap_content"
    android:layout_width="169px"
    android:text=""
    android:layout_x="108px"
    android:layout_y="221px"
    androidassword="true"
    >
    </EditText>
    <EditText
    android:id="@+id/codiceParkcard"
    android:textSize="18sp"
    android:layout_height="wrap_content"
    android:layout_width="169px"
    android:text=""
    android:layout_x="108px"
    android:layout_y="153px"
    >
    </EditText>
    </AbsoluteLayout>

  9. #8
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Come sospettavo
    Nel tuo file di layout non c'è nessun bottone con quell'id (in questo caso InizioSosta)
    Ecco perchè ti da errore, la findViewById ti restituisce giustamente null.

  10. #9
    Greg
    Guest
    Predefinito

    infatti si trova nel main, allora non posso abilitare un bottone da un altra classe chiamando la findViewById(R.id.bottone) ? e come faccio ad abilitare il bottone che si trova nella classe main dalla classe login?

  11. #10
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    No, aspetta, non ho capito che vuoi fare...
    Ti trovi in una Activity che si chiama Login, e vorresti abilitare un bottone di un'altra activity che non è visualizzata? no, che non puoi... puoi al massimo passare tramite intent dei valori da un'activity ad un'altra ma non modificarla.

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