Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

242
Vistas
Visualización del temporizador de una alarma usando el botón

Tengo este código donde hice 2 botones, uno para configurar una alarma y otro para verificar el tiempo que falta para que suene la alarma. Actualmente, estoy luchando con el segundo botón que verifica el temporizador. ¿Alguien me puede ayudar?

Aquí está mi código:

 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button); Button button2 = (Button) findViewById(R.id.button2); final TextView lefty = (TextView)findViewById(R.id.left); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Calendar calendar = Calendar.getInstance(); Long preTime = calendar.getTimeInMillis(); calendar.add(Calendar.HOUR_OF_DAY,8); Long postTime = calendar.getTimeInMillis(); Long delay = postTime - preTime; Intent intent = new Intent(getApplicationContext(),NotificationReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(),0,intent,PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingIntent); CountDownTimer timer = new CountDownTimer(delay, 1) { @Override public void onTick(long millisUntilFinished) { final int seconds = (int) (millisUntilFinished / 1000) % 60; final int minutes = (int) ((millisUntilFinished / (1000 * 60)) % 60); final int hour = (int) ((millisUntilFinished / (1000 * 60 * 60)) % 24); runOnUiThread(new Runnable() { @Override public void run() { lefty.setText( hour + " : " + minutes + " : " + seconds); } }); } @Override public void onFinish() { // TODO Auto-generated method stub } }; timer.start(); } }); button2.setOnClickListener(new View.OnClickListener() { "some code" } }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para hacer mi respuesta y ayudarlo, completaré su código y agregaré un TextView, por ejemplo, para dedicarle tiempo.

 public class MainActivity extends AppCompatActivity { // modify here private Calendar myTimer = null; private TextView myTextView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button); Button button2 = (Button) findViewById(R.id.button2); final TextView lefty = (TextView)findViewById(R.id.left); // modify here myTextView = (TextView) findViewById(R.id.my_text_view); myTimer = Calendar.getInstance(); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Calendar calendar = Calendar.getInstance(); Long preTime = calendar.getTimeInMillis(); calendar.add(Calendar.HOUR_OF_DAY, 8); Long postTime = calendar.getTimeInMillis(); Long delay = postTime - preTime; Intent intent = new Intent(getApplicationContext(), NotificationReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent); CountDownTimer timer = new CountDownTimer(delay, 1) { @Override public void onTick(long millisUntilFinished) { final int seconds = (int) (millisUntilFinished / 1000) % 60; final int minutes = (int) ((millisUntilFinished / (1000 * 60)) % 60); final int hour = (int) ((millisUntilFinished / (1000 * 60 * 60)) % 24); // modify here myTimer.set(Calendar.SECOND, seconds); myTimer.set(Calendar.MINUTE, minutes); myTimer.set(Calendar.HOUR, hour); runOnUiThread(new Runnable() { @Override public void run() { lefty.setText(hour + " : " + minutes + " : " + seconds); } }); } @Override public void onFinish() { // TODO Auto-generated method stub } }; timer.start(); } }); // modify here button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String myString = new SimpleDateFormat("hh : mm : ss").format(myTimer); myTextView.setText(myString); } }); } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda