J'ai fait un jeu avec 3 niveaux, facile, normal et difficile.Comment puis-je arrêter l'affichage de la minuterie dans mes autres niveaux?
facile a 300 secondes avant que l'activité TimeUp apparaît, normale a 600 secondes, dur a 900 secondes
par exemple, je choisi facile, mais je perds donc je suis retourné à choisir quel niveau je prendrais prochain. J'ai choisi normal mais la page de minuterie pour les apparences faciles. Comment puis-je empêcher la minuterie d'apparaître dans mes autres niveaux.
je manque quelque chose
activitépour le niveau:
public class EasyAct extends AppCompatActivity {
Button b1, b2, b3, b4;
TextView tv1, tv2, tv3, tv4;
int score =0;
TriviaQuizHelper1 triviaQuizHelper1;
TriviaQuestion1 currentQuestion;
List<TriviaQuestion1> list;
int qid = 0;
int level = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_easy);
tv1 = (TextView) findViewById(R.id.triviaQuestion);
tv2 = (TextView) findViewById(R.id.triviTimer);
b1 = (Button) findViewById(R.id.buttonA);
b2 = (Button) findViewById(R.id.buttonB);
b3 = (Button) findViewById(R.id.buttonC);
b4 = (Button) findViewById(R.id.buttonD);
tv3 = (TextView) findViewById(R.id.level);
tv4 = (TextView) findViewById(R.id.score);
CountDownTimer countDownTimer = new CountDownTimer(300 * 1000, 1000) {
@Override
public void onTick(long l) {
tv2.setText("Timer:" + l/1000 + " " + "sec");
}
@Override
public void onFinish() {
tv2.setText("TIME OUT");
Intent intent = new Intent(EasyAct.this, timeup.class);
startActivity(intent);
}
};
countDownTimer.start();
triviaQuizHelper1 = new TriviaQuizHelper1(this);
SQLiteDatabase sqLiteDatabase = triviaQuizHelper1.getWritableDatabase();
triviaQuizHelper1.allQuestion1();
list = triviaQuizHelper1.getAllQuestion();
currentQuestion = list.get(qid);
view();
}
public void view() {
tv1.setText(currentQuestion.getQuestion());
b1.setText(" "+currentQuestion.getOpta());
b2.setText(" "+currentQuestion.getOptb());
b3.setText(" "+currentQuestion.getOptc());
b4.setText(" "+currentQuestion.getOptd());
tv3.setText("Level:"+level);
tv4.setText("Score:"+score);
}
public void ButtonA(View view) {
if (b1.getText().toString().equals(" "+currentQuestion.getAnswer())){
score+=300;
if(qid<19){
qid++;
currentQuestion = list.get(qid);
view();
}else{
Intent intent=new Intent(EasyAct.this,ResultWon.class);
startActivity(intent);
finish();
}
}
else {
Intent intent=new Intent(EasyAct.this,ResultPlayAgain.class);
Bundle b=new Bundle();
b.putInt("xscore",score);
intent.putExtras(b);
startActivity(intent);
finish();
}
}
public void ButtonB(View view) {
if (b2.getText().toString().equals(" "+currentQuestion.getAnswer())){
score+=300;
if(qid<19){
qid++;
currentQuestion = list.get(qid);
view();
}else{
Intent intent=new Intent(EasyAct.this,ResultWon.class);
startActivity(intent);
finish();
}
}
else {
Intent intent=new Intent(EasyAct.this,ResultPlayAgain.class);
Bundle b=new Bundle();
b.putInt("xscore",score);
intent.putExtras(b);
startActivity(intent);
finish();
}
}
public void ButtonC(View view) {
if (b3.getText().toString().equals(" "+currentQuestion.getAnswer())){
score+=300;
if(qid<19){
qid++;
currentQuestion = list.get(qid);
view();
}else{
Intent intent=new Intent(EasyAct.this,ResultWon.class);
startActivity(intent);
finish();
}
}
else {
Intent intent=new Intent(EasyAct.this,ResultPlayAgain.class);
Bundle b=new Bundle();
b.putInt("xscore",score);
intent.putExtras(b);
startActivity(intent);
finish();
}
}
public void ButtonD(View view) {
if (b4.getText().toString().equals(" "+currentQuestion.getAnswer())){
score+=300;
if(qid<19){
qid++;
currentQuestion = list.get(qid);
view();
}else{
Intent intent=new Intent(EasyAct.this,ResultWon.class);
startActivity(intent);
finish();
}
}
else {
Intent intent=new Intent(EasyAct.this,ResultPlayAgain.class);
Bundle b=new Bundle();
b.putInt("xscore",score);
intent.putExtras(b);
startActivity(intent);
finish();
}
}
@Override
public void onBackPressed() {
Intent a = new Intent(Intent.ACTION_MAIN);
a.addCategory(Intent.CATEGORY_HOME);
a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(a);
finish();
}
}
Je ne vois que 300 secondes étant passé à la minuterie, faites vos autres activitées ont des quantités différentes codé en dur? Je suppose que vous avez juste besoin de déclarer la minuterie comme une variable globale pour chaque classe, alors vous pouvez appeler la méthode timer.stop() lorsque vous perdez ou recommencez – buradd
où vais-je taper le timer.stop() dans le code I posté – pauro
Voir: https://stackoverflow.com/help/someone-answers – c0der