تمت الإجابة كيف عمل textView يظهر بداخلة الوقت كل ميلى ثانية فى الاندرويد ستوديو ( جافا )

تم تحميل الصفحة في 0,4261226 ثانية
كيف عمل textView يظهر بداخلة الوقت كل ميلى ثانية فى الاندرويد ستوديو ( جافا )
الحالة
مغلق و غير مفتوح للمزيد من الردود.

QS7S

مُميّز نُقطة لُغات البرمجة للعام 2019
rankrank
إنضم
28 يناير 2019
المشاركات
292
الإعجابات
357
النقاط
63
Java:
        Calendar c = Calendar.getInstance();
        c.setTime(new Date());

        int h = c.get(Calendar.HOUR);
        int m = c.get(Calendar.MINUTE);
        int s = c.get(Calendar.SECOND);
        int ms = c.get(Calendar.MILLISECOND);

        TextView t = (TextView) findViewById(R.id.xx);
        t.setText(String.valueOf(ms));

Java:
import android.os.Handler;
import android.os.Looper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.Calendar;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
    private TextView t;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        t = (TextView) findViewById(R.id.xx);
        start();
    }
    private void stop() {
        s = false;
    }
    private Boolean s = false ;
    private void start() {
        if(s){
            return;
        }
        s = true;
        final Calendar c = Calendar.getInstance();
        new Thread(new Runnable() {
            public void run() {
                while (s) {
                    try {Thread.sleep(1);} catch (InterruptedException e) {}
                    c.setTime(new Date());
                    post(c);
                }
                return;
            }
        }).start();
    }
        private void post(final Calendar c){
            new Handler(Looper.getMainLooper()).post(new Runnable() {
                @Override
                public void run() {
                    int h = c.get(Calendar.HOUR);
                    int m = c.get(Calendar.MINUTE);
                    int s = c.get(Calendar.SECOND);
                    int ms = c.get(Calendar.MILLISECOND);
                    t.setText(String.valueOf(ms));
                }
            });
        }
}
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 1 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل