Использование OnResume () для перезагрузки текущего времени

StackOverflow https://stackoverflow.com/questions/4299882

  •  29-09-2019
  •  | 
  •  

Вопрос

Это мой файл .java в 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");

    }
    }
    }

Мне сказали, что я могу использовать OnResume для перезагрузки текущего времени, чтобы обновить текст в текстовом представлении. Но я не знаю, как использовать его в файле. Есть ли у вас какие-либо предложения?

Это было полезно?

Решение

После закрытия } вашей onCreate Метод, добавьте это:

@Override
protected void onResume(){
    super.onResume();
    // code to update the date here
}

Вам также придется переместить заявления о вашем TextView вне onCreate метод или, по крайней мере, вы, вероятно, захотите. Чтобы сделать это, добавьте строку, как это до onCreate Метод:

private TextView textView;

а потом в вашем onCreate Вам просто нужно это:

textView = (TextView) findViewById(R.id.TextView01);

Тогда вы можете получить доступ к textView от твоего onResume Способ тоже.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top