-3
我正在使用時間選擇器將時間存儲在火力點 中,但時間選取器以毫秒爲單位選取錯誤的值。 如果我存儲時間03:02 pm它將存儲06:49:00。 如何使用時間選擇器獲得精確的毫秒數?時間選擇器以毫秒爲單位以毫秒爲單位計算出錯誤的值
public class EditTimeTable extends BaseActivity {
private EditText editTextaddress;
private TextView textviewday;
String day;
//private Spinner spinnerDay;
private Spinner spinnerSlot;
private Button buttonsave;
private TimePicker timePicker;
private static final String REQUIRED = "Required";
private static final String TAG = "time table activity";
//a list to store all the dr time data from firebase database
List<drtime> drtimes;
//our database reference object
private DatabaseReference databasedrtime;
//firebase auth object
private FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_time_table);
Bundle bundle = getIntent().getExtras();
day = bundle.getString("key", "");
TextView TextViewday = (TextView) findViewById(R.id.post_day);
TextViewday.setText(day);
//getting the reference of drtime node
databasedrtime = FirebaseDatabase.getInstance().getReference();
//getting views
editTextaddress = (EditText) findViewById(R.id.post_body);
textviewday = (TextView) findViewById(R.id.post_day);
//spinnerDay = (Spinner) findViewById(R.id.spinner2);
spinnerSlot = (Spinner) findViewById(R.id.spinner);
timePicker = (TimePicker) findViewById(R.id.timePicker);
// listViewArtists = (ListView) findViewById(R.id.listViewArtists);
buttonsave = (Button) findViewById(R.id.button4);
//adding an onclicklistener to button
buttonsave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (day.contentEquals("Monday")) {
adddrtime0();
}
});
}
private void adddrtime0() {
//getting the values to save
final String address = editTextaddress.getText().toString();
final String day = textviewday.getText().toString();
//final String day = spinnerDay.getSelectedItem().toString();
final String slot = spinnerSlot.getSelectedItem().toString();
final long time = timePicker.getDrawingTime();
// address is required
if (TextUtils.isEmpty(address)) {
editTextaddress.setError(REQUIRED);
return;
}
final String userId = getUid();
databasedrtime.child("users").child(userId).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
UserTime userTime = dataSnapshot.getValue(UserTime.class);
if (userTime == null) {
// User is null, error out
Log.e(TAG, "User " + userId + " is unexpectedly null");
Toast.makeText(EditTimeTable.this,
"Error: could not fetch user.",
Toast.LENGTH_SHORT).show();
} else {
// Write new post
writetimetable(userId, userTime.username, address, day, slot, time);
finish();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "getUser:onCancelled", databaseError.toException());
}
});
}
private void writetimetable(String userId, String username, String address, String day, String slot, long time) {
// Create new post at /user-posts/$userid/$postid and at
// /posts/$postid simultaneously
String key = databasedrtime.child("Monday").getKey();
drPost dr = new drPost(userId, username, address, day, slot, time);
Map<String, Object> postValues = dr.toMap();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put("/user_time_table/" + userId + "/" + key, postValues);
databasedrtime.updateChildren(childUpdates);
}
'getDrawingTime()'是不是你想要的。也許你應該參考[文檔](https://developer.android.com/reference/android/widget/TimePicker.html)。 –
雅而不是(getDrawingTime)我使用什麼。我查了文檔,我沒有得到它。 –