2010-09-30 27 views
0

Je tente de lancer une nouvelle intention après le chargement des données. J'utilise un gestionnaire qui appelle une méthode lorsque le thread est terminé, puis dans cette méthode j'essaie de lancer une nouvelle intention mais mon application plante à chaque fois. Je l'ai réduit à la variable Context dans le constructeur Intent. Voici mon code:Impossible de comprendre le contexte lors du lancement d'une intention à partir d'une méthode d'achèvement de thread

/** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     pDialog = new ProgressDialog(this); 

     pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
     pDialog.setMessage("Loading..."); 
     pDialog.setCancelable(false); 
     pDialog.show(); 

     mHandler = new Handler(); 
     checkUpdate.start(); 
    } 

    private Thread checkUpdate = new Thread() 
    { 
    public void run() 
    { 
     try 
     { 
         //Do some stuff 

      mHandler.post(showUpdate); 
     } 
     catch(Exception e) 
     { 
     //Error case 
     } 
    } 
    }; 

    private final Context context = this;   

    private Runnable showUpdate = new Runnable() 
    { 
    public void run() 
    { 
     //Do post process 

     pDialog.dismiss(); 

        //This is the line it crashes on 
     Intent intent = new Intent(context, com.example.example1.TestListActivity.class); 
     startActivityForResult(intent, 0); 
    } 
    }; 
+0

J'ai également essayé getApplicationContext() dans le constructeur Intent au lieu du contexte. Donc l'autre ligne serait: Intent mowerListIntent = new Intent (getApplicationContext(), com.example.example1.TestListActivity.class); – rplankenhorn

+0

Pouvez-vous publier la sortie logcat – Vinay

+0

Sans l'exception du journal, tout ce que nous pouvons faire est de spéculer. De même, comment avez-vous resserré ce qui causait le problème? Êtes-vous certain que ce n'est pas dans l'activité qui reçoit l'intention? – codelark

Répondre

1

Je l'ai compris. Il s'avère que j'ai oublié d'inclure la nouvelle activité dans le fichier manifeste.