باستخدام 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 لإعادة تحميل الوقت الحالي لتحديث النص في TextView. لكنني لا أعرف كيفية استخدامه في الملف. هل لديك اي اقتراحات؟

هل كانت مفيدة؟

المحلول

بعد الإغلاق } من الخاص بك 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