java - Android - 时间不更新

标签 java android date time

我正在制作一个写入 .txt 文件的应用程序,在每次“保存”结束时我想输入日期和时间。

这是我的代码,将时间/日期转换为字符串,然后将其保存到文件中。

public class SaveFile extends Activity {

EditText txtData;
EditText txtData2;
Button btnWriteSDFile;
Button btnDelete;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form);

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    Date date = new Date(System.currentTimeMillis());
    final String datetime = dateFormat.format(date);

txtData = (EditText) findViewById(R.id.input1);
txtData2 = (EditText) findViewById(R.id.input2);

btnWriteSDFile = (Button) findViewById(R.id.save);
btnWriteSDFile.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
    // write on SD card file data in the text box

    try {
        BufferedWriter out = new BufferedWriter(new FileWriter("/sdcard/data_file.txt", true));
        out.write(txtData.getText() + "," + txtData2.getText() + "," + datetime.toString());
        out.write("\r\n");
        out.close();
        Toast.makeText(v.getContext(),"Saved",Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        Toast.makeText(v.getContext(), e.getMessage(),Toast.LENGTH_SHORT).show();
    }


        txtData.setText("");
        txtData2.setText("");


}// onClick
}); // btnWriteSDFile

}// onCreate

}// AndSDcard

我遇到的问题是每次保存时间都不会更新。 每行都有相同的时间和日期? 有人可以帮忙吗? 问候

最佳答案

您总是将时间写在仅在 onCreate() 中创建一次的 datetime 对象上。您应该每次都在 onClick() 中获取当前时间。

为此,您应该将格式化程序设置为类对象,然后在每次写入文件时创建新的日期:

out.write(txtData.getText() + "," + txtData2.getText() +
          "," + dateFormat.format(new Date());

请注意 new Date() 会自动获取当前时间和日期。

关于java - Android - 时间不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7987335/

相关文章:

android - MediaMuxer.nativeWriteSampleData 在视频录制期间总是周期性地阻塞大约一秒钟

android - 如何更改 phoneGap ( Apache Cordova ) Api

android - 感兴趣区域

javascript - 如何在 Javascript 中将字符串转换为日期

java - 对象构建

java - 独立程序中的公共(public)变量

java - JodaTime 使用 EXIF 元数据中的日期字符串抛出 IllegalArgumentException

php - 我在 PHP 中有 2 个日期,我怎样才能运行一个 foreach 循环来度过所有这些日子?

java - 将InputMismatchException转换为用户定义的异常

java - 泛型方法真的能够区分返回类型吗?