Das klappt irgenwie net;(
public class MainActivity extends Activity {
@SuppressLint("SimpleDateFormat")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ****** Anzeige vom Datum ************************************************
SimpleDateFormat dt = new SimpleDateFormat("EE, dd MMM yyyy",Locale.GERMAN);
String Datum = dt.format(Calendar.getInstance().getTime());
TextView MeinDatum = (TextView) findViewById(R.id.AnzeigeDatum);
MeinDatum.setText(Datum);
// **********************************************************************
Button test =(Button) findViewById(R.id.KlickButton);
test.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//********* Startzeit Eingabe im EditText zb.12:00
EditText Startzeit = (EditText)findViewById(R.id.ZeitEingabe);
//***************************************************************
TextView Ausgabe =(TextView)findViewById(R.id.ZeitDifferenz);
long time = System.currentTimeMillis();
System.out.println(time);
String Stunden = ""+time / (60 * 60 * 1000);//Stunden
String Minuten = ""+time / (60 * 1000) % 60;//Minuten
String Sekunden = ""+time / 1000 % 60;//Sekunden
Ausgabe.setText(Stunden + ":" + Minuten + ":" + Sekunden);
}
});
long startTime = new Date().getTime();
long endTime = new Date().getTime();
completeTime = endTime - startTime;
completeSeconds = completeTime / 1000 % 60;
completeMinutes = completeTime / (1000 * 60) % 60;
complenteHours = completeTime / ( 1000 * 60 * 60) % 24;
//dann gibst du das Ergebnis als formatierten String aus
String result = String.format("%02d:%02d:%02d", completeHours, completeMinutes, completeSeconds);
Ausgabe Bsp:
01:42:53
String from_time = startZeit.getText().toString();
String[] time_split = from_time.split(":");
boolean hasSeconds = time_split.length == 3 ? true : false;
SimpleDateFormat format = hasSeconds ? new SimpleDateFormat("HH:mm:ss") : new SimpleDateFormat("HH:mm");
Date from = format.parse(time);
long diff = from.getTime() - new Date().getTime();
long diffSeconds = diff / 1000 % 60;
long diffMinutes = diff / (60 * 1000) % 60;
long diffHours = diff / (60 * 60 * 1000) % 24;
long diffDays = diff / (24 * 60 * 60 * 1000);
aber es gibt keine Endzeit !!
endTime = new Date().getTime(); //Sagen wir es ist jetzt zb. 18:15
als Startzeit habe ich 12:00 eingegeben
package tests;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
/**
*
* @author kaoZ
*
*/
public class Foo {
public Foo() {
SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss");
long endTime = new Date().getTime(); // Hier nehmen wir die aktuelle Zeit ( als Endzeit )
Scanner sc = new Scanner(System.in);
String[] splitted = sc.nextLine().split(":"); // splittet bei ":"
sc.close();
long startHours = Long.parseLong(splitted[0]) * (1000 * 60 * 60); //erste Zahl = Stunden
long startMinutes = Long.parseLong(splitted[1]) * (1000 * 60); //zweite Zahl = Minuten
long startSeconds = Long.parseLong(splitted[2]) * 1000; //dritte Zahl = Sekunden
long startMillis = startHours + startMinutes + startSeconds; // gesamt Millisekunden
System.out.println(startMillis); // TEST
System.out.println(f.format(endTime - startMillis)); // Differenz zwischen jetzt und der Eingabe
Ausgabe (grade ebend) :
00:00:00 // Eingabe
0 // Startzeit in Millisekunden
00:24:58 // Differenz zwischen Startzeit und jetzt
}
public static void main(String[] args) {
new Foo();
}
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class TimeDiff02 {
public static void main(String[] args)
{
String Startzeit = "04/01/14 22:00:00";
double StundenDezimal;
double MinutenDezimal;
String RestZeit;
SimpleDateFormat format = new SimpleDateFormat("dd/mm/yy HH:mm:ss");
SimpleDateFormat sZeit = new SimpleDateFormat("dd/mm/yy HH:mm:ss");
String AktuelleUhrzeit = sZeit.format(new Date());
sZeit.setTimeZone( TimeZone.getDefault() );
Date d1 = null;
Date d2 = null;
try {
d1 = format.parse(Startzeit);
d2 = sZeit.parse(AktuelleUhrzeit);
} catch (ParseException e) {
e.printStackTrace();
}
long diff = d2.getTime() - d1.getTime();
long diffSeconds = diff / 1000 % 60;
long diffMinutes = diff / (60 * 1000) % 60;
long diffHours = diff / (60 * 60 * 1000);
System.out.println("Sekunden: " + diffSeconds + " seconds.");
System.out.println("Minuten: " + diffMinutes + " minutes.");
System.out.println("Stunden: " + diffHours + " hours.");
//System.out.println("Restzeit: " + diffHours + ":" + diffMinutes + ":" + diffSeconds );
RestZeit =(diffHours + ":" + diffMinutes + ":" + diffSeconds );
System.out.println("Laufende Zeit:" + " " + RestZeit);
//System.out.println(d2.getMinutes());
//System.out.println(diff/60000.0 + "Minuten");
//System.out.println(diff/3600000.0 + "Stunden");
MinutenDezimal = ( diff / 60000.0);
StundenDezimal = (diff/3600000.0);
//Double num = Double.parseDouble(number.getText().toString());
System.out.println(MinutenDezimal + " " + "Minuten Dezimal");
System.out.println(StundenDezimal + " " + "Stunden Dezimal");
System.out.println(d1 + " " + "Startzeit");
System.out.println(d2 + " " + "Aktuelle Uhrzeit");
}
}
12:22:13
String[] tokens = editText.getText().split(":"); // hier die eingabe deines Textfeldes auslesen und splitten
// und dann halt wie in meiner applikation
long startHours = Long.parseLong(String.valueOf(tokens[0]) * (1000 * 60 * 60);
//usw usw...
Okay
Wenn ein String verlangt wird und du eine nummer hast, kannst du sie übrigens mit ""+nummer(-variable) in einen String umrechnen.
Gesendet von meinem GT-I9100 mit Tapatalk
// ****** Anzeige vom Datum ************************************************
SimpleDateFormat dt = new SimpleDateFormat("EE, dd MMM yyyy",Locale.GERMAN);
String Datum = dt.format(Calendar.getInstance().getTime());
TextView MeinDatum = (TextView) findViewById(R.id.AnzeigeDatum);
MeinDatum.setText(Datum);
// ******************************OK***************************************
Button test =(Button) findViewById(R.id.KlickButton);
test.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss");
long endTime = new Date().getTime();
//Scanner sc = new Scanner(System.in);
EditText Eingabe = (EditText)findViewById(R.id.MeineZeitEingabe);
TextView Ausgabe = (TextView)findViewById(R.id.MeineZeitStunden);
//String[] splitted = sc.nextLine().split(":"); // splittet bei ":"
//sc.close();
String[] splitted = Eingabe.getText().toString().split(":");
long startHours = Long.parseLong(splitted[0]) * (1000 * 60 * 60); //erste Zahl = Stunden
long startMinutes = Long.parseLong(splitted[1]) * (1000 * 60); //zweite Zahl = Minuten
long startSeconds = Long.parseLong(splitted[2]) * 1000; //dritte Zahl = Sekunden
long startMillis = startHours + startMinutes + startSeconds; // gesamt Millisekunden
System.out.println(startMillis); // TEST
System.out.println(f.format(endTime - startMillis)); // Differenz zwischen jetzt und der Eingabe
Ausgabe.setText(f.format(endTime - startMillis));
}
});
}
System.out.println("Bitte geben Sie die gewünschte Uhrzeit ein :"); // Hier
String[] splitted = sc.nextLine().split(":"); //Hier wartet der Scanner auf eingaben
sc.close();
double a = Double.parseDouble(beispielString);
wie teile ich 225566 durch 157,456
double a = 225566.0;
double b = 157.456;
double ergebnis = a / b ;
System.out.println(String.format("%.2f", ergebnis));
//Das Ergebnis wird hier z.B durch die Formatierung nur bis auf 2 Nachkommastellen ausgegeben
DecimalFormat deziFormat = new DecimalFormat("0000.000");
double Me= Double.parseDouble(EingabeE.getText().toString());
double Mi = Double.parseDouble(AusgabeM.getText().toString());
double mprom = Me/Mi;
AusgabeF.setText (deziFormat.format(mprom));
double xyz = Double.parseDouble(editText.getText().toString().replace("," , "."));
try{
double xyz = Double.parseDouble(editText.getText().toString().replace("," , "."));
}catch(Exception ex){
// hier kannst du code ausführen lassen wenn beim parsen/ersetzen etwas schief gehen sollte, oder eine eingabe nicht den vorgaben entspricht
}
new Thread(){
@Override
public void run(){
//Code der ausgeführt werden soll
}
}.start();
public double rechnungEins(double a, double b){
double ergebnis = a + b;
//Berechnungscode etc..
return ergebnis; // liefert ein double mit dem Inhalt der berechnung zurück
}
public void rechnungZwei(double x){
// berechnung hier
}
@Override
public void onClick(ActionEvent event){
berechnungZwei(berechnungEins(10.0 , 22.2)); // Sind natürlich dann auch 2 berechnungen bei einem Klick, was allerding kein Weltuntergang ist ^^
}
// ****** Anzeige vom Datum ************************************************
SimpleDateFormat dt = new SimpleDateFormat("EE, dd MMM yyyy",Locale.GERMAN);
String Datum = dt.format(Calendar.getInstance().getTime());
TextView MeinDatum = (TextView) findViewById(R.id.AnzeigeDatum);
MeinDatum.setText(Datum);
// ******************************OK***************************************
Button ZeitFormat =(Button) findViewById(R.id.ZeitButton);
ZeitFormat.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss");
long endTime = new Date().getTime();
EditText Eingabe = (EditText)findViewById(R.id.ZeitEingabe);
TextView AusgabeStunden = (TextView)findViewById(R.id.FlugzeitStunden);
TextView AusgabeMinuten = (TextView)findViewById(R.id.FlugzeitMinuten);
String[] splitted = Eingabe.getText().toString().split(":");
long startHours = Long.parseLong(splitted[0]) * (1000 * 60 * 60); //erste Zahl = Stunden
long startMinutes = Long.parseLong(splitted[1]) * (1000 * 60); //zweite Zahl = Minuten
long startSeconds = Long.parseLong(splitted[2]) * 1000; //dritte Zahl = Sekunden
long startMillis = startHours + startMinutes + startSeconds; // gesamt Millisekunden
AusgabeStunden.setText(f.format(endTime - startMillis));
//*********************************************************************************
long SystemMillis = System.currentTimeMillis();
double diffMillis = SystemMillis - startMillis;
DecimalFormat deziFormat = new DecimalFormat("0000.000");
AusgabeMinuten.setText(deziFormat.format(diffMillis % 36000000/60000));//Minuten Dezimal
//*********************************************************************************
}
});
Button FlugFormat =(Button)findViewById(R.id.FlugButton);
FlugFormat.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
EditText EingabeEntfernung = (EditText) findViewById(R.id.EingabeEntfernung);
TextView AusgabeMinuten = (TextView)findViewById(R.id.FlugzeitMinuten);
TextView AusgabeFlugmeter = (TextView)findViewById(R.id.MeterProMinute);
//TextView AusgabeKmh = (TextView)findViewById(R.id.KmHproStunde);
DecimalFormat deziFormat = new DecimalFormat("0000.000");
double Meter = Double.parseDouble(EingabeEntfernung.getText().toString());
double Min = Double.parseDouble(AusgabeMinuten.getText().toString());
double mprom = Meter/Min;
AusgabeFlugmeter.setText (deziFormat.format(mprom));
}
});
}
Java:public void onClick(View v) { EditText EingabeEntfernung = (EditText) findViewById(R.id.EingabeEntfernung); TextView AusgabeMinuten = (TextView)findViewById(R.id.FlugzeitMinuten); TextView AusgabeFlugmeter = (TextView)findViewById(R.id.MeterProMinute); //TextView AusgabeKmh = (TextView)findViewById(R.id.KmHproStunde); DecimalFormat deziFormat = new DecimalFormat("0000.000"); double Meter = Double.parseDouble(EingabeEntfernung.getText().toString()); double Min = Double.parseDouble(AusgabeMinuten.getText().toString()); double mprom = Meter/Min; AusgabeFlugmeter.setText (deziFormat.format(mprom)); } }); }
EditText EingabeEntfernung = (EditText) findViewById(R.id.EingabeEntfernung);
TextView AusgabeMinuten = (TextView)findViewById(R.id.FlugzeitMinuten);
TextView AusgabeFlugmeter = (TextView)findViewById(R.id.MeterProMinute);
onCreate();
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
Button FlugFormat =(Button)findViewById(R.id.FlugButton);
FlugFormat.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
calculate(); // diese Methode wird durch deinen Buttonklick aufgerufen
}
});
public void calculate(){
DecimalFormat deziFormat = new DecimalFormat("0000.000"); // könnte man , insofern noch an anderer Stelle verwendet auch als Intanzvariable deklarieren;
double Meter = Double.parseDouble(EingabeEntfernung.getText().toString());
double Min = Double.parseDouble(AusgabeMinuten.getText().toString());
double mprom = Meter/Min;
AusgabeFlugmeter.setText (deziFormat.format(mprom));
}
});
}
public double calculate(){ // liefert ein double zurück
double meter, time, ergebnis;
meter = Double.parseDouble(EingabeEntfernung.getText().toString());
time = Double.parseDouble(AusgabeMinuten.getText().toString());
ergebnis = meter / time;
return ergebnis;
}
Button FlugFormat =(Button)findViewById(R.id.FlugButton);
FlugFormat.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
AusgabeFlugmeter.setText (String.valueOf(deziFormat.format(calculate())));
//alternativ
AusgabeFlugmeter.setText(String.format("%.2f", calculate());
}
});
Button FlugFormat =(Button)findViewById(R.id.FlugButton);
FlugFormat.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(EingabeEntfernung.getText().length() != 0 && AusgabeMinuten.getText().length() ! = 0){
AusgabeFlugmeter.setText(String.format("%.2f", calculate());
}else{
Toast.makeText(this, "Sie müssen erst alle Felder ausfüllen" , Toast.LENGTH_SHORT).show();
});
package tests;
import java.text.SimpleDateFormat;
public class AndroidTest extends Activity implements OnClickListener{
SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss");
@Override
protected void onCreate(Bundle savedInstanceState){
super(savedInstanceState);
setContentView(R.layout.my_layout);
EditText meterEingabeFeld = (EditText)findViewById(R.id.meter);
EditText zeitEingabeFeld = (EditText)findViewById(R.id.zeit);
EditText ergebniseFeld = (EditText)findViewById(R.id.ergebnis);
//usw
}
public double calculate(){
double meter, time, ergebnis=0;
meter = Double.parseDouble(meterEingabeFeld.getText().toString());
time = Double.parseDouble(zeitEingabeFeld.getText().toString());
ergebnis = meter / time;
return ergebnis;
}
@Override
public void onClick(View view){
if(meterEingabeFeld.getText().length() != 0 && zeitEingabeFeld.getText().length() != 0){
ergebnis.setText(String.format("%.2f", calculate()));
}
Toast.makeText(this, "Sie müssen erst alle Felder ausfüllen !", Toast.LENGTH_LONG).show()
}
}
onCreate();
public void onClick(View v)
wenn ich dich richtig verstehe
sollte ich für jede Berechnung eine Klasse erstellen?
mich nervt grade , das der im 2ten ButtonKlick das Programm einfach schließt
im Emulator funkt es.
spukt auch keinen Fehler aus.
wenn ich die Views der TextFelder untermache meckert der in derJava:onCreate();
Java:public void onClick(View v)
android.R
kommt aber trotzdem noch "The value of the local variable Eingabe is not used"
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import android.os.Bundle;
//import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
01-05 13:26:50.790: D/OpenGLRenderer(11655): Enabling debug mode 0
01-05 13:27:50.384: D/AndroidRuntime(11655): Shutting down VM
01-05 13:27:50.384: W/dalvikvm(11655): threadid=1: thread exiting with uncaught exception (group=0x418b4ac8)
01-05 13:27:50.404: E/AndroidRuntime(11655): FATAL EXCEPTION: main
01-05 13:27:50.404: E/AndroidRuntime(11655): java.lang.NumberFormatException: Invalid double: "0087,664"
01-05 13:27:50.404: E/AndroidRuntime(11655): at java.lang.StringToReal.invalidReal(StringToReal.java:63)
01-05 13:27:50.404: E/AndroidRuntime(11655): at java.lang.StringToReal.parseDouble(StringToReal.java:269)
01-05 13:27:50.404: E/AndroidRuntime(11655): at java.lang.Double.parseDouble(Double.java:295)
01-05 13:27:50.404: E/AndroidRuntime(11655): at de.exa.datetime.MainActivity$2.onClick(MainActivity.java:82)
01-05 13:27:50.404: E/AndroidRuntime(11655): at android.view.View.performClick(View.java:4377)
01-05 13:27:50.404: E/AndroidRuntime(11655): at android.view.View$PerformClick.run(View.java:18044)
01-05 13:27:50.404: E/AndroidRuntime(11655): at android.os.Handler.handleCallback(Handler.java:725)
01-05 13:27:50.404: E/AndroidRuntime(11655): at android.os.Handler.dispatchMessage(Handler.java:92)
01-05 13:27:50.404: E/AndroidRuntime(11655): at android.os.Looper.loop(Looper.java:137)
01-05 13:27:50.404: E/AndroidRuntime(11655): at android.app.ActivityThread.main(ActivityThread.java:5306)
01-05 13:27:50.404: E/AndroidRuntime(11655): at java.lang.reflect.Method.invokeNative(Native Method)
01-05 13:27:50.404: E/AndroidRuntime(11655): at java.lang.reflect.Method.invoke(Method.java:511)
01-05 13:27:50.404: E/AndroidRuntime(11655): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
01-05 13:27:50.404: E/AndroidRuntime(11655): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
01-05 13:27:50.404: E/AndroidRuntime(11655): at dalvik.system.NativeStart.main(Native Method)
01-05 13:28:01.346: I/Process(11655): Sending signal. PID: 11655 SIG: 9
java.lang.NumberFormatException: Invalid double: "0087,664"
hreadid=1: thread exiting with uncaught exception (group=0x418b4ac8)
im onCreate meckert er nur wenn ich die Views
aus den onClick(View v) rausnehme und ins onCreate setzte!
public MeineTestKlasse implements OnClickListener{
//...
}
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.button1:
//aktion wenn button1 angeklickt wird
break;
case R.id.button2:
//aktion wenn button2 angeklickt wird
break;
}
//usw
}
}
Syntax error on token "double", @ expected
public double calculate(){
double meter, time, ergebnis=0;
meter = Double.parseDouble(meterEingabeFeld.getText().toString());
time = Double.parseDouble(zeitEingabeFeld.getText().toString());
ergebnis = meter / time;
return ergebnis;
}
MeinDatum.setText(Datum);
public SimpleDateFormat dt = new SimpleDateFormat("EE, dd MMM yyyy", Locale.GERMAN);
String Datum = dt.format(Calendar.getInstance().getTime());
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText MeinDatum = (EditText)findViewById(R.id.AnzeigeDatum);
MeinDatum.setText(Datum);
Button btTest1 = (Button) findViewById(R.id.button1);
btTest1.setOnClickListener(this);
Button btTest2 = (Button) findViewById(R.id.button2);
btTest2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button1:
String text1 ="Button1 geklickt";
Toast einToast1 = Toast.makeText(v.getContext(), text1, Toast.LENGTH_SHORT);
einToast1.show();
break;
case R.id.button2:
String text2 = Datum;
Toast einToast2 = Toast.makeText(v.getContext(),text2, Toast.LENGTH_SHORT);
einToast2.show();
break;
}
}
}
public class MainActivity extends Activity implements OnClickListener{
public SimpleDateFormat dt = new SimpleDateFormat("EE, dd MMM yyyy", Locale.GERMAN);
String Datum = dt.format(Calendar.getInstance().getTime());
EditText MeinDatum;
EditText EingabeEntfernung;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MeinDatum = (EditText)findViewById(R.id.AnzeigeDatum);
//MeinDatum.setText(Datum);
EingabeEntfernung = (EditText)findViewById(R.id.EingabeEntfernung);
Button btTest1 = (Button) findViewById(R.id.button1);
btTest1.setOnClickListener(this);
Button btTest2 = (Button) findViewById(R.id.button2);
btTest2.setOnClickListener(this)
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button1:
MeinDatum.setText(Datum);
String text1 ="Button1 geklickt";
Toast einToast1 = Toast.makeText(v.getContext(), text1, Toast.LENGTH_SHORT);
einToast1.show();
break;
case R.id.button2:
String text2 = Datum;
Toast einToast2 = Toast.makeText(v.getContext(),text2, Toast.LENGTH_SHORT);
einToast2.show();
break;
}
}
}
hallo,
das wirft einen Fehler bei double
Code:Syntax error on token "double", @ expected
Java:public double calculate(){ double meter, time, ergebnis=0; meter = Double.parseDouble(meterEingabeFeld.getText().toString()); time = Double.parseDouble(zeitEingabeFeld.getText().toString()); ergebnis = meter / time; return ergebnis; }
Java:public class MainActivity extends Activity implements OnClickListener
Java:public SimpleDateFormat dt = new SimpleDateFormat("EE, dd MMM yyyy", Locale.GERMAN);
Java:public class MainActivity extends Activity implements OnClickListener{ // Variablen immer lowerCamelCase ! EditText meinDatum; EditText eingabeEntfernung; SimpleDateFormat dt; String datum; @Override protected void onCreate(Bundle savedInstanceState){ super(savedInstanceState); dt = new SimpleDateFormat("EE, dd MMM yyyy", Locale.GERMAN); datum = dt.format(Calendar.getInstance().getTime()); //usw...
Java:case R.id.button1: MeinDatum.setText(Datum); String text1 ="Button1 geklickt"; Toast einToast1 = Toast.makeText(v.getContext(), text1, Toast.LENGTH_SHORT); einToast1.show(); break;
case R.id.button1:
MeinDatum.setText(Datum);
CharSequence text = String.valueOf(R.string.beispielText); // verwendet die String resource
Toast.makeText(this, text, Toast.LENGTH_LONG).show();
break;
MeinDatum.setText(Datum); // variablen immer lowerCamelCase :)
meinDatum.setText(String.valueOf(datum));
/*wobei eigentlich sollte der editText auch einfach so datum annehmen da es ja ein String ist
*probier es einfach mal aus , und gib mir rückmeldung */
EditText MeinDatum = (EditText)findViewById(R.id.AnzeigeDatum);
MeinDatum.setText(Datum);
Button btTest1 = (Button) findViewById(R.id.button1);
btTest1.setOnClickListener(this);
Button btTest2 = (Button) findViewById(R.id.button2);
btTest2.setOnClickListener(this);
//-----------apply Views-------------
EditText meinDatum = (EditText)findViewById(R.id.AnzeigeDatum);
Button btTest1 = (Button) findViewById(R.id.button1);
Button btTest2 = (Button) findViewById(R.id.button2);
//-----------set Listener--------------
btTest1.setOnClickListener(this);
btTest2.setOnClickListener(this);
meinDatum.setText(datum);
public double ZeitDifferenzBerechnen(){
double ergebnis;
String[] splitted = EingabeStartZeit.getText().toString().split(":");
long startHours = Long.parseLong(splitted[0]) * (1000 * 60 * 60); //Stunden
long startMinutes = Long.parseLong(splitted[1]) * (1000 * 60); //Minuten
long startSeconds = Long.parseLong(splitted[2]) * 1000; //Sekunden
long startMillis = startHours + startMinutes + startSeconds; //Millisekunden
//AnzeigeZeitStunden.setText(f.format(endTime - startMillis));
ergebnis = endTime - startMillis;
AnzeigeZeitStunden.setText(f.format(ergebnis));
return ergebnis;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button1:
ZeitDifferenzBerechnen();
//String text1 ="Button1 geklickt";
//Toast einToast1 = Toast.makeText(v.getContext(), text1, Toast.LENGTH_SHORT);
//einToast1.show();
break;
case R.id.button2:
String text2 = Datum;
Toast einToast2 = Toast.makeText(v.getContext(),text2, Toast.LENGTH_SHORT);
einToast2.show();
break;
}
}
}
es geht jetzt fast
jetzt tritt aber das Problem auf
das er beim 1ten Klick die Zeit korrekt übergibt
aber beim 2 ten Klick tut sich nichts mehr !
return bleibt ja immer der gleiche Wert oder wie seh ich das?
Java:public double ZeitDifferenzBerechnen(){ double ergebnis = 0; // hier initialisieren ! String[] splitted = EingabeStartZeit.getText().toString().split(":"); long startHours = Long.parseLong(splitted[0]) * (1000 * 60 * 60); //Stunden long startMinutes = Long.parseLong(splitted[1]) * (1000 * 60); //Minuten long startSeconds = Long.parseLong(splitted[2]) * 1000; //Sekunden long startMillis = startHours + startMinutes + startSeconds; //Millisekunden //AnzeigeZeitStunden.setText(f.format(endTime - startMillis)); ergebnis = endTime - startMillis; AnzeigeZeitStunden.setText(f.format(ergebnis)); // das kannst du beim buttonklick machen return ergebnis;
Java:@Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.button1: AnzeigeZeitStunden.setText(f.format(ZeitDifferenzBerechnen())); // Methoden schreibt man auch klein ;) break; case R.id.button2: String text2 = Datum; Toast einToast2 = Toast.makeText(v.getContext(),text2, Toast.LENGTH_SHORT); einToast2.show(); break; } } }
myEditText.setText(String.valueOf(MeineMethodeGibtMirEinDoubleZurück());
String.valueOf()
hallo,
ja < auf den gleichen Button
das Ergebnis ist/kann doch nicht immer gleich sein .
Java:ergebnis = endTime - startMillis;
dieser Wert wird doch immer größer logischerweise
zb. 1.Klick 2:30:30 2.Klick 5 Sekunden später muss 2:30:35 ergeben
ArrayList<Double> ergebnisListe = new ArrayList<Double>();
ergebnisListe.add(ergebnis);
double endErgebnis;
for(double i : ergebnisListe){
endErgebnis += i;
}
// und dann halt
deinEditText.setText(String.valueOf(endErgebnis));