2

システム時刻を表示する簡単なアプリケーションがあります。

実行するたびに、表示とログが同時に記録されます。アプリケーションが最初に起動したのと同じ時間です。

最初に同時に表示されて更新されない理由がわかりません。

コードは簡単です:

import java.util.Calendar;
import java.util.Date;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        int y,m,d;

        Date date= new Date();
        Calendar c = Calendar.getInstance();


        c.setTime(date);

        y = c.get(Calendar.YEAR);
        m = c.get(Calendar.MONTH);
        d = c.get(Calendar.DAY_OF_MONTH);

        Log.d("AAAAA",y + ":" +m+ ":" +d);

        TextView textTime = (TextView) findViewById(R.id.textView1);
        textTime.setText(y + ":" +m+ ":" +d);

    }
4

1 に答える 1

3
    //date instance is created with current system time
    Date date= new Date();
    Calendar c = Calendar.getInstance();
    //you have set that date time into calendar instance
    c.setTime(date);

そのため、calendar インスタンスのデータ (日付) が生きている限り変更しない場合、設定された値と同じ値が保持されます。

于 2012-05-15T12:07:40.023 に答える