CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 4 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 21 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 5 su 5
Discussione:

Problema: modelDialog dopo aver scattato una foto

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
    Feb 2011
    Messaggi
    27

    Ringraziamenti
    16
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Problema: modelDialog dopo aver scattato una foto

    Ciao ragazzi,
    come ho indicato nel titolo, non riesco a far comparire al momento giusto il modelDialog dopo aver scattato una foto.

    Mi spiego meglio, ho un pulsante che, una volta premuto, avvia un Intent per scattare una foto. Una volta scattata la foto l'utente dovrebbe essere avvisato da un'apposita modelDialog dalla quale puo scegliere, premendo si, di inviare la foto come allegato ad una email, premendo no invece non deve accadere niente.

    Il codice che ho scritto fin ora non mi permette di vedere il modelDialog al "momento" giusto, infatti delle volte viene visualizzato prima scattare la fotografia e delle volte non viene visualizzato per niente.

    codice:
     
    1
    cattura.setOnClickListener(new OnClickListener() { //evento associato al tasto per far partire la camera dove richiamo il metodo che crea il modelDialog
    2
                
    3
                @Override
    4
                public void onClick(View v) {
    5
                // TODO Auto-generated method stub
    6
                                
    7
                    Intent i = new Intent( MediaStore.ACTION_IMAGE_CAPTURE );
    8
                    startActivityForResult( i, IMAGE_CAPTURE );
    9
                    direttaSettembre.ShowDialogDetails();
    10
                    
    11
                }
    12
            });  
    13
            
    questo è l'Intent (Secondo me non entra nel primo ciclo if)

    codice:
    24
     
    1
     protected void onActivityResult1( int requestCode, int resultCode, Intent data ) //Camera
    2
        {   
    3
            
    4
            
    5
            if ( requestCode == IMAGE_CAPTURE ) 
    6
            {
    7
                    if ( resultCode == RESULT_CANCELED )
    8
                   {
    9
                        //Non è stata scattata nessuna foto
    10
                        return;
    11
                    }
    12
                     uri = data.getData();
    13
                     image.setImageURI(data.getData());
    14
                    
    15
                   Object selectedImage = null;
    16
                //se è null vuol dire che la foto non è stata salvata automaticamente la salviamo manualemente
    17
                  if(selectedImage == null){
    18
                         Bitmap b = ( Bitmap ) data.getExtras().get( "data" );
    19
                         selectedImage = MediaStore.Images.Media.insertImage( getContentResolver(), b, null, null );
    20
                   }         
    21
             }  
    22
            
    23
            super.onActivityResult( requestCode, resultCode, data );    
    24
        }
    e questa è la funzione che gestisce il modelDialog

    codice:
    36
     
    1
        public static void ShowDialogDetails(){
    2
              
    3
            //Inizializzo il Dialog
    4
            final Dialog modelDialog = new Dialog(direttaSettembre.getContext());
    5
            //set del layout
    6
            modelDialog.setContentView(R.layout.model_dialog);
    7
            //set del Titolo
    8
            modelDialog.setTitle("Invia mail");
    9
            //set se è Cancelable di default è a true se volessimo impostare
    10
            //una risposta utente del tipo si no dovremmo impostarla a false
    11
            modelDialog.setCancelable(false);
    12
          
    13
            //Inizializzo gli oggetti e imposto i valori
    14
            TextView txtScale = (TextView) modelDialog.findViewById(R.id.textview1);
    15
            txtScale.setText("Invio file?");
    16
         
    17
            //set Del button
    18
            Button buttonYES = (Button) modelDialog.findViewById(R.id.buttonYES);
    19
            //aggiungo il listener dell'onclick per la chiusura della dialog
    20
            buttonYES.setOnClickListener(new OnClickListener() {
    21
                @Override
    22
                public void onClick(View v) {
    23
                    direttaSettembre.getContext().startActivity(Intent.createChooser(emailIntent, "Send mail..."));
    24
                }
    25
            });
    26
            
    27
            Button buttonNO = (Button) modelDialog.findViewById(R.id.buttonNO);
    28
            buttonNO.setOnClickListener(new OnClickListener() {
    29
                @Override
    30
                public void onClick(View v) {
    31
                    modelDialog.cancel();
    32
                }
    33
            });
    34
            //Show della Dialog
    35
            modelDialog.show();
    36
        }
    ragazzi grazie ancora una volta a chi vorrà aiutarmi!!!

  2.  
  3. #2
    Androidiano


    Registrato dal
    Apr 2009
    Messaggi
    163

    Ringraziamenti
    2
    Ringraziato 8 volte in 8 Posts
    Predefinito

    Se fossi in te dato che vuoi che la modeldialog appaia una volta scattata la foto metterei il metodo showDialogDetails() nell activity result e non subito dopo aver chiamato l intent prova e facci sapere se risolvi in questo modo.

    Inviato dal mio GT-I9000 usando Tapatalk

  4. Il seguente Utente ha ringraziato blaster per il post:

    cicndre (25-07-11)

  5. #3
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    27

    Ringraziamenti
    16
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da blaster Visualizza il messaggio
    Se fossi in te dato che vuoi che la modeldialog appaia una volta scattata la foto metterei il metodo showDialogDetails() nell activity result e non subito dopo aver chiamato l intent prova e facci sapere se risolvi in questo modo.

    Inviato dal mio GT-I9000 usando Tapatalk
    Ciao blaster e grazie per avermi risposto!!
    Prima di postare questo codice avevo già provato ad inserire showDialogDetails() nell' activity result ma il problema è che quando richiamo l'activity, il codice dentro l'activity result è come se non venisse eseguito e quindi la modeldialog non compare

  6. #4
    Androidiano


    Registrato dal
    Apr 2009
    Messaggi
    163

    Ringraziamenti
    2
    Ringraziato 8 volte in 8 Posts
    Predefinito

    Di niente se posso sono sempre felice di aiutare, cmq tornando al problema io comincerei con lo sopstare questa porzione di codice

    codice:
            super.onActivityResult( requestCode, resultCode, data );
    Proprio sotto la dichiarazione dell activity result in questo modo

    codice:
    protected void onActivityResult1( int requestCode, int resultCode, Intent data ) {
    
     super.onActivityResult( requestCode, resultCode, data ); 
    
    .......
    .......
    .......

    Fai questa prova cosi dovrebbe andare facci sapere



    Inviato dal mio GT-I9000 usando Tapatalk

  7. #5
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    27

    Ringraziamenti
    16
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ciao blaster, ho provato a modificare il codice come mi hai consigliato ma purtroppo niente.
    Per essere sicuro di non aver sbagliato ti posto il codice modificato

    codice:
    17
     
    1
        protected void onActivityResult1( int requestCode, int resultCode, Intent data ) //Camera
    2
        {   
    3
            super.onActivityResult( requestCode, resultCode, data );
    4
            
    5
            if ( requestCode == IMAGE_CAPTURE ) 
    6
            {
    7
                    if ( resultCode == RESULT_CANCELED )
    8
                   {
    9
                        //Non è stata scattata nessuna foto
    10
                        return;
    11
                    }
    12
                     uri = data.getData();
    13
                   
    14
               direttaSettembre.ShowDialogDetails(); 
    15
             }  
    16
            
    17
        }

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