Skip to content

Instantly share code, notes, and snippets.

@AraujoJordan
Created April 2, 2016 06:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AraujoJordan/66fb1bb8c9f3642b6223acd682c0c6c1 to your computer and use it in GitHub Desktop.
Save AraujoJordan/66fb1bb8c9f3642b6223acd682c0c6c1 to your computer and use it in GitHub Desktop.
[Nova Cursos] Aula6 - Fim da MainActivity
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