1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. martino, 13.12.2010 #1
    martino

    martino Threadstarter Neuer Benutzer

    Hallo zusammen,

    ist es möglich dass eine Activity erst das xml-File lädt und
    anschließend weiteren Code ?

    Ich habe in meiner App einen Startbildschirm / Startactivity bei der diverse Daten aus einer sql Datenbank geladen werden.

    In Abhängigkeit dieser Daten wird dann eine andere Activity gestartet.

    Nun geht mein Startbildschirm völlig unter weil das xml-File garnicht geladen wird, sondern gleich zur nächsten Activity gesprungen wird.

    Code:
        @Override
        public  void  onCreate(Bundle  icicle)  { 
            super.onCreate(icicle); 
            setContentView(R.layout.start); 
            
            startconnect();
        }
    
    Eine Warteschleife nutzt da nichts..
    Irgendwelche Vorschläge?

    Gruß

    Martino
     
  2. Bobert, 14.12.2010 #2
    Bobert

    Bobert Erfahrener Benutzer

    Hallo,

    du möchtest den Startbildschirm anzeigen, warum hilft eine "Warteschleife" nicht?

    Gruß Bobert
     
    martino gefällt das.
  3. martino, 14.12.2010 #3
    martino

    martino Threadstarter Neuer Benutzer

    Hi,

    eine Warteschleife finde ich etwas unprofessionell.
    Ich habs mit ner for schleife probiert die bis 5000 hochzählt..

    Die App ist in der Zeit aber schwarz geblieben.

    Gibts da nicht andere Möglichkeiten?

    Gruß

    Martino
     
  4. Bobert, 14.12.2010 #4
    Bobert

    Bobert Erfahrener Benutzer

    martino gefällt das.
  5. martino, 14.12.2010 #5
    martino

    martino Threadstarter Neuer Benutzer

    vielen Dank erstmal,

    hab es nun mit folgendem Code versucht:


    Code:
        @Override
        public  void  onCreate(Bundle  icicle)  { 
            super.onCreate(icicle); 
            setContentView(R.layout.start); 
    
            try {
                Thread.sleep(20000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            startconnect();
        }
    

    Das Layout wird nicht geladen. Die App bleibt in der Wartezeit einfach schwarz und zeigt danach die nächste Activity an die in startconnect() aufgerufen wird.

    Mit this.wait() gibts ne Fehlermeldung.

    Gruß
     
  6. Bobert, 14.12.2010 #6
    Bobert

    Bobert Erfahrener Benutzer

    Hallo,

    stimmt habe es ausprobiert ist bei mir das selbe, bin momentan ratlos :sad:
    Hatte die Idee dieses könnte funktionieren

    Code:
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
        
        @Override
        public void onStart() {   
            super.onStart();
            
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    
            startconnect();
        }
    
    aber leider auch nicht. Oder oder oder this.show(R.id.main) ...

    Gruß Bobert
     
    martino gefällt das.
  7. martino, 14.12.2010 #7
    martino

    martino Threadstarter Neuer Benutzer

    Hi,

    habs hinbekommen !! Es geht mit einem Handler der eine Warteschleife eingebaut hat.. das hab ich von hier:

    anddev.org • View topic - Splash Screen

    this.show(R.id.main)
    hat bei mir nicht geklappt. Eclipse hat das nichtmal durchgelassen.

    hier mein Code:

    Code:
        private final int SPLASH_DISPLAY_LENGTH = 5000;
        
    
        @Override
        public  void  onCreate(Bundle  icicle)  { 
            super.onCreate(icicle); 
            setContentView(R.layout.start); 
            
            
            new Handler().postDelayed(new Runnable(){
                @Override
                public void run(){
                    /*Create an Intent that will start the Menu.Activity */
                    final   Intent  newuserintent  =  new   Intent(start.this, newuser. class); 
                    startActivity(newuserintent);
                }
            }, SPLASH_DISPLAY_LENGTH );
            
            
            //startconnect();
        }
    

    Vielen Dank für Deine Hilfe !!

    Martino
     
  8. Bobert, 15.12.2010 #8
    Bobert

    Bobert Erfahrener Benutzer

    Hallo,

    :thumbup:

    Ja diese Lösung gefällt mir auch hab es eben mal probiert!
    Das startconnect(); rufst Du dann in newuser.class auf, oder?!

    Gruß Bobert
     
  9. martino, 15.12.2010 #9
    martino

    martino Threadstarter Neuer Benutzer

    Hi,

    nein, ich muss die nächste Activity in Abhängigkeit von startconnect() aufrufen.

    Ich habs jetzt so gemacht das mir startconnect() ein Wert zurückgibt und jenachdem wird eine Activity aufgerufen:

    Code:
            daten = startconnect();
            
            new Handler().postDelayed(new Runnable(){
                @Override
                public void run(){
                    /*Create an Intent that will start the Menu.Activity */
                    if (daten=="keinErgebniss") {
                        final   Intent  newuserintent  =  new   Intent(start.this, newuser. class); 
                        //intent.putExtra(BETRAG_KEY,  betrag);
                        startActivity(newuserintent); 
                    }
                    else {
                        final   Intent  mainintent  =  new   Intent(start.this, Main. class); 
                        //intent.putExtra(BETRAG_KEY,  betrag);
                        startActivity(mainintent);             
                    }
                }
            }, SPLASH_DISPLAY_LENGTH );
    
    Gruß
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Bild per Intent an ListView übergeben und anzeigen Android App Entwicklung 13.08.2017
[ERLEDIGT] Auffangen von nativen C Exeptions in Java Code? Android App Entwicklung 08.08.2017
[ERLEDIGT] Android Studio Erste App-Programmierung Android App Entwicklung 02.08.2017
[ERLEDIGT] Daten/Code meiner App speichern? Android App Entwicklung 27.07.2017
[ERLEDIGT] Hilfe bei Fehler in Quellcode benötigt Android App Entwicklung 23.06.2017
[OFFEN] Android Studio - Code Style Android App Entwicklung 08.06.2017
[ERLEDIGT] Der Weg zur ersten eigenen App Android App Entwicklung 26.03.2017
[OFFEN] Wie kann ich mehrere Marker in eine MapView laden Android App Entwicklung 25.03.2017
Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY] Android App Entwicklung 14.02.2017
Code erstellte ImageButtons über eine Schleife eine ImageResource zuweisen. Android App Entwicklung 14.12.2016
Du betrachtest das Thema "Code erst nach setContentView() laden" im Forum "Android App Entwicklung",