Alors récemment, j'ai mis en place une intention où quand un bouton est cliqué, il ouvre une nouvelle activité. Cela fonctionne bien mais quand je vais à l'activité et que j'essaie de revenir à l'écran principal, je reçois un écran noir. À l'écran noir, si je riposte une fois de plus, cela me mène au menu principal, mais c'est ennuyeux. Des idées?Black Screen Error
playbutton.java
package com.Dragon_Fruit;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class playbutton extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
Intent myIntent = new Intent(playbutton.this, PlayActivity.class);
playbutton.this.startActivity(myIntent);
}
}
PlayActivity.java
package com.Dragon_Fruit;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class PlayActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.playscreen);
}
}
PlayActivity dans le manifeste
<activity android:name=".PlayActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
DragonFruitActivity.java
package com.Dragon_Fruit;
import java.io.IOException;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageButton;
public class DragonFruitActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// ***BUTTON SOUND***//
final MediaPlayer buttonSound = MediaPlayer.create(
DragonFruitActivity.this, R.raw.button_click);
ImageButton playbutton = (ImageButton) findViewById(R.id.playbutton);
playbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
arg0.setBackgroundResource(R.drawable.playbuttonselected);
// TODO Auto-generated method stub
if(buttonSound.isPlaying()) {
buttonSound.stop();
}
try {
buttonSound.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
buttonSound.start();
startActivity(new Intent(DragonFruitActivity.this,
playbutton.class));
}
});
ImageButton settingsbutton = (ImageButton) findViewById(R.id.settingsbutton);
settingsbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(buttonSound.isPlaying()) {
buttonSound.stop();
}
try {
buttonSound.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
buttonSound.start();
startActivity(new Intent(DragonFruitActivity.this,
settingsbutton.class));
}
});
}
}
désolé, je pourrais avoir rédigé ce mal. Lorsque mon application démarre, elle lance DragonFruitActivity.java qui définit la mise en page sur un xml que j'ai créé. J'ai ensuite utilisé deux boutons d'image pour être les principaux boutons sur l'écran. Lorsque le bouton de lecture (activité du bouton de lecture) a été poussé, je voulais qu'il commence une nouvelle activité. Est-ce la bonne façon de faire les choses? Je vais mettre le DragonFruitActivity.java dans ma question. – Zach
Hé, je l'ai compris merci pour votre aide, vous aviez raison l'activité playbutton prenait de nombreuses étapes. – Zach
Remplacer 'startActivity (new Intent (DragonFruitActivity.this, playbutton.class));' avec startActivity (nouvel Intent (DragonFruitActivity.this, PlayActivity.class)): 'Il n'y a aucune raison de démarrer une nouvelle activité pour démarrer une nouvelle activité . – DeeV