0

我有这个按钮,它将生成时间和日期并将其设置为数据库树中的子项,问题是每当我单击按钮时它会生成所述时间但时间没有改变,

例如,我点击了按钮,它生成了 12:27 Pm 的时间,它将被记录到数据库中,现在我第二次再次点击了该按钮,它仍然没有改变,仍然打印出 12:27 Pm而是下午 12:30。

代码看起来像这样

 btnadd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Integer num1 = Integer.parseInt(edt1.getText().toString());
            Integer num2 = Integer.parseInt(edt2.getText().toString());
            Integer result = num1+num2;
            String data = "Date Computed: " + Date + Hrs +"Result: "+ result;

            DateView.setText(data);

            HashMap<String, String> userMap = new HashMap<>();
            userMap.put("Add", data);


            rootNode = FirebaseDatabase.getInstance();
            reference = rootNode.getReference("Users").child("UserID").child(Date);
            reference.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    if (snapshot.exists()){
                        maxid = (snapshot.getChildrenCount());
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError error) {

                }
            });

            reference.child("Transaction"+maxid).setValue(userMap);
        }
    });

    edt1 = findViewById(R.id.edt1);
    edt2 = findViewById(R.id.edt2);
    btnadd = findViewById(R.id.btnadd);
    btnmin = findViewById(R.id.btnmin);
    DateView = findViewById(R.id.DateView);
    calendar = Calendar.getInstance();
    simpleDateFormat = new SimpleDateFormat("MM-dd-yyyy");
    Date = simpleDateFormat.format(calendar.getTime());
    simpleHoursFormat = new SimpleDateFormat(" hh:mm:ss ");
    Hrs = simpleHoursFormat.format(calendar.getTime());
4

2 回答 2

1

您好,从代码看来您还没有更新您的DateTime在您的onClickListener. 更新后的代码应该是这样的:-

btnadd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // This will fetch your updated date and time 
            Date = simpleDateFormat.format(calendar.getTime());
            Hrs = simpleHoursFormat.format(calendar.getTime());
            Integer num1 = Integer.parseInt(edt1.getText().toString());
            // Rest of your code 
于 2021-02-14T07:42:00.147 回答
-1

尝试使用这个

import java.util.Calendar
Date currentTime = Calendar.getInstance().getTime();
于 2021-02-14T04:35:55.317 回答