2012-07-02 3 views
0

Je crois que mon code est configuré correctement, mais lorsque j'essaie de le déboguer, il passe directement de l'écran de démarrage à un écran noir. Je sais que j'ai importé la mise en page correctement mais elle devient noire.Transition vers un écran noir

C'est le code de l'écran de démarrage

package com.example.equate.jones; 



import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.support.v4.app.NavUtils; 

public class EJ_Splash extends Activity { 

    protected boolean _active = true; 
    protected int _splashTime = 3000; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_ej__splash); 

     // thread for displaying the SplashScreen 
     Thread splashTread = new Thread() { 
      @Override 
      public void run() { 
       try { 
         synchronized(this){ 
          wait(4000); 
         } 

        } 
       catch(InterruptedException e) { 
        // do nothing 
       } { 

        finish(); 

        Intent i = new Intent(getApplicationContext(),EJ_Board.class); 
        startActivity(i); 
       } 
      } 
     }; 
     splashTread.start(); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_ej__splash, menu); 
     return true; 
    } 


} 

Ceci est le code de l'écran, il est censé passer à.

package com.example.equate.jones; 

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageView; 

public class EJ_Board extends Activity { 

    private ImageView button1; 
    final MediaPlayer mp = MediaPlayer.create(this, R.raw.warm); 

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


     button1=(ImageView)findViewById(R.id.imageView1); 

     button1.setOnClickListener(new View.OnClickListener() 
     { 
      public void onClick(View view) 
      { 

       mp.start(); 
      } 
     }); 
    } 

} 

C'est le xml pour EJ_Board

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/ic_launcher" /> 

</LinearLayout> 
+0

Peut vous postez votre code XML pour le EJ_Board? – BlackHatSamurai

+0

D'accord, je l'ai mis à jour. – todaroa

+0

Je suis un peu confus pourquoi vous avez un menu gonfleur sur votre écran de démarrage. Votre écran de démarrage devrait juste passer à la page suivante sans aucun menu. Je ne pense pas que cela a quelque chose à voir avec votre problème, mais peu importe, encore quelque chose à penser. :) – BlackHatSamurai

Répondre

1

Je pense que votre problème est avec le ImageView. Vous devez ajouter une image à votre dossier drawable, puis modifiez votre android:src="@drawable/ic_launcher" au nom de l'image que vous avez enregistrée. Cela vous donnera l'image dont vous avez besoin pour votre bouton. Hope qui aide

Edit:

Pour votre écran de démarrage, essayez quelque chose comme ceci:

public class SplashActivity extends Activity { 
    private long splashDelay = 5000; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 

     TimerTask task = new TimerTask() 
     { 

      @Override 
      public void run() { 
       finish(); 
       Intent homeIntent = new Intent().setClass(SplashActivity.this, HomeActivity.class); 
       startActivity(homeIntent); 

      } 

     }; 

     Timer timer = new Timer(); 
     timer.schedule(task, splashDelay); 

    } 
} 

Puis dans votre activité de la maison, vous pouvez définir votre menu:

public class HomeActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.layout.menu, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle item selection 
     switch (item.getItemId()) { 
      case R.id.locationButton: 
       Intent locationIntent = new Intent(this, LocationActivity.class); 
       startActivity(locationIntent); 
       return true; 
      case R.id.diningButton: 
       Intent diningIntent = new Intent(this, DiningActivity.class); 
       startActivity(diningIntent); 
       return true; 

      case R.id.topXXVButton: 
       Intent topIntent = new Intent(this, DiningActivity.class); 
       startActivity(topIntent); 
       return true; 

      default: 
       return super.onOptionsItemSelected(item); 
     } 
    } 
} 

Essayez cette :

public class SplashActivity extends Activity { 
    private long splashDelay = 5000; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 

     TimerTask task = new TimerTask() 
     { 

      @Override 
      public void run() { 
       finish(); 
       Intent mainIntent = new Intent().setClass(EJ_Splash.this, EJ_Board.class); 
       startActivity(mainIntent); 

      } 

     }; 

     Timer timer = new Timer(); 
     timer.schedule(task, splashDelay); 

    } 
} 
+0

Il n'y a pas de problème avec la transition, je pense que c'est le début de l'activité incorrecte – todaroa

+0

Avez-vous ajouté l'activité à votre manifeste Android? Publiez votre manifeste Android si vous le souhaitez. – BlackHatSamurai

+0

J'ai ajouté du code qui pourrait vous aider. Dites-moi si cela marche pour vous. – BlackHatSamurai