Ich bin ein neuling was Java programmierung angeht, darum bin ich für jede Hilfe und Tipps sehr dankbar.
In meinem Project habe ich mir 2 Timepicker erstellt, jeweils für Startzeit und Endzeit. Die Zeiten werden jeweils in ein Textview ausgegeben im 24 Stunden format.
Ich möchte nun nach eingabe von Start und Endzeit die differenz dieser beiden Zeiten berechnen und in ein weiteres Textview ausgeben. Wie kann ich das bewerkstelligen?
In meinem Project habe ich mir 2 Timepicker erstellt, jeweils für Startzeit und Endzeit. Die Zeiten werden jeweils in ein Textview ausgegeben im 24 Stunden format.
Ich möchte nun nach eingabe von Start und Endzeit die differenz dieser beiden Zeiten berechnen und in ein weiteres Textview ausgeben. Wie kann ich das bewerkstelligen?
Java:
package com.example.datetestneu;
import androidx.appcompat.app.AppCompatActivity;
import android.app.TimePickerDialog;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
import org.joda.time.DateTime;
import org.joda.time.Interval;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button btnBeginnt, btnEndet;
TextView tvBeginnt, tvEndet, tvDauer;
int time1beginnHour, time1beginnMinute;
int time2beginnHour, time2beginnMinute;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnBeginnt = (Button) findViewById(R.id.btnBeginnt);
btnBeginnt.setOnClickListener(this);
btnEndet = (Button) findViewById(R.id.btnEndet);
btnEndet.setOnClickListener(this);
tvBeginnt = (TextView) findViewById(R.id.tvBeginnt);
tvEndet = (TextView) findViewById(R.id.tvEndet);
tvDauer = (TextView) findViewById(R.id.tvDauer);
tvTest = (TextView) findViewById(R.id.tvTest);
tvtest2 = (TextView) findViewById(R.id.tvTest2);
}
//Timepicker
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnBeginnt: {
btnBeginnt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Initialize time picker dialog
TimePickerDialog timePickerDialog = new TimePickerDialog(
MainActivity.this,
android.R.style.Theme_Holo,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//Initialize hour and minute
time1beginnHour = hourOfDay;
time1beginnMinute = minute;
//Store hour and minute in string
String time = time1beginnHour + ":" + time1beginnMinute;
//Initialize 24 hours time format
SimpleDateFormat f24Hours = new SimpleDateFormat(
"HH:mm"
);
try {
Date date = f24Hours.parse(time);
//Initialize 12 hours time format
SimpleDateFormat f12Hours = new SimpleDateFormat(
"HH:mm aa"
);
//Set selected time on text view
tvBeginnt.setText(f24Hours.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}, 12, 0, true
);
//Set transparent background
timePickerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
//Displayed previous selected time
timePickerDialog.updateTime(time1beginnHour, time1beginnMinute);
//Show Dialog
timePickerDialog.show();
}
});
break;
}
case R.id.btnEndet: {
btnEndet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Initialize time picker dialog
TimePickerDialog timePickerDialog = new TimePickerDialog(
MainActivity.this,
android.R.style.Theme_Holo,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//Initialize hour and minute
time2beginnHour = hourOfDay;
time2beginnMinute = minute;
//Store hour and minute in string
String time = time2beginnHour + ":" + time2beginnMinute;
//Initialize 24 hours time format
SimpleDateFormat f24Hours = new SimpleDateFormat(
"HH:mm"
);
try {
Date date = f24Hours.parse(time);
//Initialize 12 hours time format
SimpleDateFormat f12Hours = new SimpleDateFormat(
"HH:mm aa"
);
//Set selected time on text view
tvEndet.setText(f24Hours.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}, 12, 0, true
);
//Set transparent background
timePickerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
//Displayed previous selected time
timePickerDialog.updateTime(time2beginnHour, time2beginnMinute);
//Show Dialog
timePickerDialog.show();
}
});
}
}
}
}