Autore Topic: Problema "Activity has been destroyed" su FragmentActivity  (Letto 483 volte)

Offline themexican85

  • Nuovo arrivato
  • *
  • Post: 16
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus
  • Sistema operativo:
    Mac OS X
Problema "Activity has been destroyed" su FragmentActivity
« il: 12 Aprile 2013, 11:32:42 CEST »
0
Salve!
Ho un problema che mi sta facendo scervellare da giorni su una FragmentActivity. In pratica ho una classe che estende FragmentActivity che in seguito ad un evento richiama una function che mostra una dialog di tipo "DialogFragment". Accedendo alla FragmentActivity una volta non riscontro nessun problema, se invece clicco sul tasto fisico "back" e provo a far scaturire lo stesso evento l'App va in crash e sul LogCat di Eclipse riscontro l'errore  "Activity has been destroyed".
Posto un po di codice in maniera tale da poter essere più chiaro
Codice (Java): [Seleziona]
public class ActivityKangas extends FragmentActivity implements Observer{
//Views della GUI
Button btnStart,btnStop, btnTh, btnPreAlarm;
TextView txtLog, txtTitle, accel;
//Model
KangasDataModel kdm;
//Controllers
CAlarmKangas ctr_al;
CKangasDetector ctr;
//Altre variabili
//Handler per l'aggiornamento della GUI
        Handler handler=new Handler(){
        .....
       }
@Override
        protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);

                  setContentView(R.layout.activity_kangas);    
        .......
       }

@Override
        public void update(Observable observable, Object data) {
               
                if(observable instanceof KangasDataModel){
                        KangasDataModel m=(KangasDataModel)observable;         
                        txtLog.setTextColor(Color.RED);
                        txtLog.setText(m.getFall());
           
                        showFragmentDialog();  //FUNCTION INCRIMINATA!!!

           ........
          }


private void showFragmentDialog() {
        DialogFragment newFragment = null;
        newFragment=new DialogPreAllarme(timer,btnPreAlarm, btnStop, btnStart, btnTh, txtLog);
        //newFragment.show(getSupportFragmentManager(), "preallarme");
        newFragment.setCancelable(false);
        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.add(newFragment, null);
        ft.commitAllowingStateLoss();
    }

}

Spero che possiate aiutarmi!!
Grazie anticipatamente!