2014-06-30 1 views
0

Mon problème est quelque chose comme splash-screen en quelque sorte, mais j'aime savoir est-il un moyen plus simple.Comment afficher la page de vue simple (fichier xml) juste pour les secondes, puis

est le scénario ici ..

J'aime afficher un fichier XML simple (page au format android) juste pendant 2 secondes puis charger un autre fichier XML (la page principale). Je me demande est là de toute façon sans créer de classe et long chemin compliqué. Disons que le fichier splash-screen est "splash_screen.xml" et que la page principale est "result.xml".

setContentView (R.layout.splash_screen) pendant 2 secondes, puis il sera détruit et setContentView (R.layout.result) sera compilé. [psedocoded sens;)]

+0

Vous pouvez essayer ceci: Essayez de définir une minuterie dans l'activité A et une fois la minuterie terminée, appelez l'activité B. – Goofy

+0

comme je l'ai mentionné je n'aime pas créer une activité pour loadin-displin 'simple page (XML) .. aussi je cherche un court chemin! – SDG69

+0

pourquoi voulez-vous charger cette page pendant 2 sec, que cette page va-t-elle traiter en 2 sec? – Goofy

Répondre

0

Essayez le code suivant: -

setContentView(R.layout.test2); 
    try { 
     Thread.sleep(2000); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    setContentView(R.layout.activity_main); 

Cela pourrait fonctionner pour vous.

+0

Cela ne fonctionne pas, il suffit de 2 secondes pour charger "activity_main.xml"! – SDG69

+0

Avant de charger le fichier activity_main.xml, ne charge-t-il pas le fichier test2.xml? Parce que pour moi, ça marche. –

+0

bizarre, pour moi, il suffit de 2 secondes pour charger activity_main. Je ne sais pas, ce n'est pas mon travail, mais merci. – SDG69

0

D'abord, appeler setContentView plusieurs fois dans une activité est incorrect.

Eh bien, ce n'est pas si compliqué. Vous avez besoin de votre activité splash pour être votre activité d'ouverture. Ensuite, créez un thread et lancez l'activité suivante après deux secondes.

1) Principale/Splash:

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash_screen); 

    Thread t = new Thread(new Runnable() { 

     public void run() { 
      try { 
       Thread.sleep(2000); 
      } catch (InterruptedException e) { 
      }finally{ 
       Intent i=new Intent(MainActivity.this,Result.class); 
       startActivity(i); 
       finish(); 
      } 
     } 
    }); 
    t.start(); 
} 



} 

2) Deuxième Classe/Résultat

public class Result extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.result); 
} 


} 

Enfin, ne pas oublier d'ajouter Résultat d'activité dans le fichier Manifest

+0

Pour moi, ça ne marche pas. (mon application charge result.xml après avoir appuyé sur le bouton) .. j'ai essayé mais n'a obtenu aucun résultat .. tout à fait merci. – SDG69

+0

Assurez-vous MainActivity (activité qui charge Splash dans l'activité Main dans Manifest). Ce serait bien si vous partagiez votre code afin que je puisse comprendre ce que vous essayez de faire. –

Questions connexes