Utilizzando l'onResume () per ricaricare l'ora corrente
Domanda
Questo è il mio file java in src:
package com.wao.texttime;
import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class TextTime extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textView = (TextView) findViewById(R.id.TextView01);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.set(Calendar.HOUR_OF_DAY, 6);
cal.set(Calendar.MINUTE, 15);
cal.set(Calendar.SECOND, 0);
long vask_1 = cal.getTimeInMillis();
cal.set(Calendar.HOUR_OF_DAY, 10);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
long vask_2 = cal.getTimeInMillis();
cal.set(Calendar.HOUR_OF_DAY, 14);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
long vask_3 = cal.getTimeInMillis();
cal.set(Calendar.HOUR_OF_DAY, 16);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
long vask_4 = cal.getTimeInMillis();
cal.set(Calendar.HOUR_OF_DAY, 19);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
long vask_5 = cal.getTimeInMillis();
long now = System.currentTimeMillis();
if(now > vask_1 && now < vask_2)
{
textView.setText("5");
}
else if(now > vask_2 && now < vask_3)
{
textView.setText("1");
}
else if(now > vask_3 && now < vask_4)
{
textView.setText("2");
}
else if(now > vask_4 && now < vask_5)
{
textView.setText("3");
}
}
}
mi è stato detto che posso usare l'onResume per ricaricare l'ora corrente per aggiornare il testo nella TextView. Ma, non so come usarlo nel file. Avete qualche suggerimento?
Soluzione
Dopo la }
del metodo onCreate
chiusura, aggiungere questo:
@Override
protected void onResume(){
super.onResume();
// code to update the date here
}
Si dovrà anche spostare le dichiarazioni del vostro TextView
di fuori del metodo onCreate
, o almeno si sarà probabilmente vuole. Per fare questo, aggiungere una riga simile prima il metodo onCreate
:
private TextView textView;
e poi nel vostro onCreate
basta questo:
textView = (TextView) findViewById(R.id.TextView01);
Quindi è possibile accedere textView
dal tuo metodo onResume
troppo.
La speranza che aiuta.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow