Hi,
Ich habe aktuell Probleme mit der Switch-Klasse in meiner Android App. Ich benutze Eclipse mit Android 4.3. Immer wenn switch() {...} ausgeführt wird, stoppt die Android App im Emulator. ???:L
LogCat gibt folgenden Fehler aus:
meine Vertreter.java :
Im Prinziep soll die App Wenn es Freitag,Samstag oder Sonntag ist per Datum auf Montag springen damit ich auf eine Webseite zugreifen kann.
Ich weiß nun nicht mehr weiter warum die App sich beendet. Eclipse findet auf jedenfall keinen Fehler.
Das einzige das ich weiß ist, dass switch(day) {...} den Fehler auslöst. Ich weiß jedoch nicht warum. :bahnhof:
Könnte es vielleicht auch am
liegen ?
MfG MadTracki / Danke im Vorraus
Ich habe aktuell Probleme mit der Switch-Klasse in meiner Android App. Ich benutze Eclipse mit Android 4.3. Immer wenn switch() {...} ausgeführt wird, stoppt die Android App im Emulator. ???:L
LogCat gibt folgenden Fehler aus:
Java:
11-30 08:29:18.296: D/AndroidRuntime(1562): Shutting down VM
11-30 08:29:18.334: W/dalvikvm(1562): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-30 08:29:18.354: E/AndroidRuntime(1562): FATAL EXCEPTION: main
11-30 08:29:18.354: E/AndroidRuntime(1562): java.lang.NullPointerException
11-30 08:29:18.354: E/AndroidRuntime(1562): at de.madstar.asg_erfurtvertretungsplan.Vertreter$2.onClick(Vertreter.java:83)
11-30 08:29:18.354: E/AndroidRuntime(1562): at android.view.View.performClick(View.java:4240)
11-30 08:29:18.354: E/AndroidRuntime(1562): at android.view.View$PerformClick.run(View.java:17721)
11-30 08:29:18.354: E/AndroidRuntime(1562): at android.os.Handler.handleCallback(Handler.java:730)
11-30 08:29:18.354: E/AndroidRuntime(1562): at android.os.Handler.dispatchMessage(Handler.java:92)
11-30 08:29:18.354: E/AndroidRuntime(1562): at android.os.Looper.loop(Looper.java:137)
11-30 08:29:18.354: E/AndroidRuntime(1562): at android.app.ActivityThread.main(ActivityThread.java:5103)
11-30 08:29:18.354: E/AndroidRuntime(1562): at java.lang.reflect.Method.invokeNative(Native Method)
11-30 08:29:18.354: E/AndroidRuntime(1562): at java.lang.reflect.Method.invoke(Method.java:525)
11-30 08:29:18.354: E/AndroidRuntime(1562): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-30 08:29:18.354: E/AndroidRuntime(1562): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-30 08:29:18.354: E/AndroidRuntime(1562): at dalvik.system.NativeStart.main(Native Method)
meine Vertreter.java :
Java:
package de.madstar.asg_erfurtvertretungsplan;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebView;
import android.widget.Button;
public class Vertreter extends Activity implements android.view.View.OnClickListener {
public Vertreter() {
super();
}
public Button btnHeute;
public Button btnMorgen;
public WebView WV;
public int foo = 1;
//Teil vom Day-Checker von btnMorgen
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
Day day;
public Vertreter(Day day) {
this.day = day;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vertreter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.vertreter, menu);
WV = (WebView)findViewById(R.id.webView1);
btnHeute = (Button)findViewById(R.id.button1);
btnHeute.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd");
Date currentTime = new Date();
WV.loadUrl("http://schedule.asg-erfurt.de/" + formatter.format(currentTime));
}
});
btnMorgen = (Button)findViewById(R.id.button2);
btnMorgen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
SimpleDateFormat formatter1 = new SimpleDateFormat ("yyyy-MM-");
SimpleDateFormat formatter2 = new SimpleDateFormat ("dd");
Date currentTime = new Date();
//Prüfen ob Freitag,Samstag oder Sontag um auf Montag zu springen
switch(day) {
case FRIDAY:
foo = 3;
break;
case SATURDAY:
foo = 2;
break;
case SUNDAY:
foo = 1;
break;
case MONDAY:
foo = 1;
break;
case TUESDAY:
foo = 1;
break;
case WEDNESDAY:
foo = 1;
break;
case THURSDAY:
foo = 1;
break;
}
//formatter2 in integer umwandeln
int form2 = Integer.parseInt(formatter2.format(currentTime));
WV.loadUrl("http://schedule.asg-erfurt.de/" + formatter1.format(currentTime) + (form2 + foo));
}
});
// btnMorgen.setOnClickListener(this);
return true;
}
//Ab hier Optionen für dropdown menu in actionbar
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch(item.getItemId()){
case R.id.action_settings:
settingsMenuItem();
break;
}
return true;
}
private void settingsMenuItem(){
new AlertDialog.Builder(this)
.setTitle("About")
.setMessage("Vertretungsplan für das ASG-Erfurt" + '\n' + "Erstellt von Lucas Ehrich" + '\n' + "V1.1" + '\n' + '\n' + "Die Meldung: 'The page you were looking for doesn't exist.' bedeutet dass kein Vertretungsplan existiert.")
.setNeutralButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
}).show();
}
@Override
public void onClick(View v) {
// TODO Nothing, just need it to run Onclick listener for buttons
}
}
Im Prinziep soll die App Wenn es Freitag,Samstag oder Sonntag ist per Datum auf Montag springen damit ich auf eine Webseite zugreifen kann.
Ich weiß nun nicht mehr weiter warum die App sich beendet. Eclipse findet auf jedenfall keinen Fehler.
Das einzige das ich weiß ist, dass switch(day) {...} den Fehler auslöst. Ich weiß jedoch nicht warum. :bahnhof:
Könnte es vielleicht auch am
Java:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
Day day;
public Vertreter(Day day) {
this.day = day;
}
MfG MadTracki / Danke im Vorraus
Zuletzt bearbeitet: