Created
April 2, 2016 06:26
-
-
Save AraujoJordan/66fb1bb8c9f3642b6223acd682c0c6c1 to your computer and use it in GitHub Desktop.
[Nova Cursos] Aula6 - Fim da MainActivity
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package araujo.jordan.novaquiz; | |
import android.content.DialogInterface; | |
import android.content.Intent; | |
import android.os.Bundle; | |
import android.os.SystemClock; | |
import android.support.v4.view.ViewPager; | |
import android.support.v7.app.AlertDialog; | |
import android.support.v7.app.AppCompatActivity; | |
import android.view.View; | |
import android.widget.Chronometer; | |
import android.widget.ImageButton; | |
/** | |
* Tela principal do programa, chamada por um dos botões da PrimeiraActivity | |
*/ | |
public class MainActivity extends AppCompatActivity { | |
private Partida partida; | |
private Chronometer crono; | |
private ImageButton btnAvancar, btnVoltar; | |
private ViewPager pagerLayout; | |
private QuizPagerAdapter quizAdapter; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
partida = (Partida) getIntent().getSerializableExtra("partida"); | |
pagerLayout = (ViewPager) findViewById(R.id.fragments); | |
quizAdapter = new QuizPagerAdapter(getSupportFragmentManager(), partida); | |
pagerLayout.setAdapter(quizAdapter); | |
crono = (Chronometer) findViewById(R.id.crono); | |
btnVoltar = (ImageButton) findViewById(R.id.btnAnterior); | |
btnVoltar.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
if (pagerLayout.getCurrentItem() == 0) | |
sair(false); | |
else | |
pagerLayout.setCurrentItem(pagerLayout.getCurrentItem() - 1); | |
} | |
}); | |
btnAvancar = (ImageButton) findViewById(R.id.btnProximo); | |
btnAvancar.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
if (pagerLayout.getCurrentItem() == quizAdapter.getCount()-1) | |
sair(true); | |
else | |
pagerLayout.setCurrentItem(pagerLayout.getCurrentItem() + 1); | |
} | |
}); | |
} | |
@Override | |
protected void onResume() { | |
super.onResume(); | |
crono.setBase(SystemClock.elapsedRealtime()); | |
crono.start(); | |
} | |
@Override | |
public void onBackPressed() { | |
sair(false); | |
} | |
private void sair(final boolean avancar) { | |
new AlertDialog.Builder(this) | |
.setTitle("Deseja finalizar o Quiz?") | |
.setMessage("Saindo você acabará essa sessão, não podendo mais voltar para as perguntas") | |
.setCancelable(false) | |
.setPositiveButton("Sim", new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialog, int which) { | |
if (avancar) { | |
Intent resultados = new Intent(MainActivity.this, ResultadosActivity.class); | |
partida.setTempo((int) (SystemClock.elapsedRealtime() - crono.getBase())); | |
boolean listaDeAcertos[] = new boolean[partida.getQtdPerguntas()]; | |
for (int i = 0; i < partida.getQtdPerguntas(); i++) { | |
listaDeAcertos[i] = (((QuizFragment) quizAdapter.getItem(i)).acertou()); | |
} | |
partida.setAcertos(listaDeAcertos); | |
resultados.putExtra("partida", partida); | |
startActivity(resultados); | |
finish(); | |
} else | |
finish(); | |
} | |
}) | |
.setNegativeButton("Não", new DialogInterface.OnClickListener() { | |
@Override | |
public void onClick(DialogInterface dialog, int which) { | |
} | |
}).create().show(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment