Autore Topic: Non riesco a Collegare le due Activity...  (Letto 834 volte)

Offline Screen Generation

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericcson XPeria X10
  • Sistema operativo:
    Windows Vista
Non riesco a Collegare le due Activity...
« il: 20 Novembre 2011, 16:22:20 CET »
0
Ho realizzato una Splash Screen che collego mediante un Thread() alla MainActivity.java...solo che mi va in Crash l' App quanto avvio il Simulatore...vi posto il qui il codice del Manifest e delle due Activity:

Manifest:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="SWPackage.com"
   android:versionCode="1"
   android:versionName=" 1.0.1" >

    <uses-sdk android:minSdkVersion="8" />

    <application
       android:icon="@drawable/icon"
       android:label="@string/app_name" >
        <activity
           android:label="@string/app_name"
           android:name=".SplashActivity"
           android:screenOrientation="portrait">
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
       <activity
           android:label="@string/app_name"
           android:name=".MainActivity" >
            <intent-filter >
                <action android:name="SWPackage.com.STARTINGPOINT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
       
    </application>
</manifest>

SplashActivity:
Codice (Java): [Seleziona]
package SWPackage.com;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

public class SplashActivity extends Activity{

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                requestWindowFeature(Window.FEATURE_NO_TITLE);
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
                setContentView(R.layout.splash);

                Thread SplashTimer = new Thread()
                {
                       
                        public void run(){
                                try{
                                        sleep(5000);
                                        Intent loadMain = new Intent(SplashActivity.this, MainActivity.class);
                                        startActivity(loadMain);
                                }
                                catch (InterruptedException e) {
                                        e.printStackTrace();
                                }
                                finally{
                                        finish();
                                }
                        }
                };
                SplashTimer.start();
        }
}

MainAcitivty:
Codice (Java): [Seleziona]
package SWPackage.com;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

public class MainActivity extends Activity {
       
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
                requestWindowFeature(Window.FEATURE_NO_TITLE);
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

        @Override
        protected void onPause() {
                super.onPause();
        }    
   
}

Non Riesco A trovare l' errore...Potreste Aiutarmi?

Zate

  • Visitatore
Re:Non riesco a Collegare le due Activity...
« Risposta #1 il: 20 Novembre 2011, 16:47:10 CET »
0
SERVE IL LOGCAT!
Comunque
Codice (Java): [Seleziona]
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
setContentView va messo dopo.

E poi
Codice (Java): [Seleziona]
Thread SplashTimer = new Thread()
                {
                       
                        public void run(){
                                try{
                                        sleep(5000);
                                }
                                catch (InterruptedException e) {
                                        e.printStackTrace();
                                }
                                finally{
                                        Intent loadMain = new Intent(SplashActivity.this, MainActivity.class);
                                        startActivity(loadMain);
                                        finish();
                                }
                        }
                };
                SplashTimer.start();

Potrei sbagliarmi, ma devi iniziare l'activity in finally, non in try, altrimenti nel momento in qui il timer inizia, inizia anche l'activity.

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Non riesco a Collegare le due Activity...
« Risposta #2 il: 20 Novembre 2011, 18:59:01 CET »
0
Potresti utilizzare un CountDown se non ho capito male:
Codice (Java): [Seleziona]
new CountDownTimer(15000, 1000) {    // Ogni 1 secondo viene lanciato onTick().  Dopo 15 secondi viene lanciato onFinish()
                TextView textView = (TextView) findViewById(R.idText.countDown);
                        @Override
                        public void onTick(long millisUntilFinished) {
                                textView.setText("seconds remaining: " + millisUntilFinished / 1000);
                        }
                       
                        @Override
                        public void onFinish() {
                         textView.setText("done!");
                         // START MAIN ACTIVITY

                        }
                }.start();
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.