Declarierte Activities in der XML Datei tun nicht was sie sollen...

  • Antworten:2
Tobias Wiens
  • Forum-Beiträge: 4

02.02.2014, 18:40:21 via Website

Hallo Zusammen,

ich bin recht frisch in der Android/Java Scene.
Ich habe nun mehrere Stunden gegoogelt und Programmiert aber ich komme einfach nicht weiter.
Ich habe eine einfache Testapp geschrieben die aus einem Startscreen besteht ( im folg. SPLASH) und aus einer MainActivity welche einen Taschenrechner darstellt.

Der SPLASH Screen sollte 4 Sekunden dargestellt werden. Dazu habe ich in der XML folgende anpassungen gemacht:

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.testing.Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>
</activity>

Und dann nochmal dasselbe für die Main activity.
Bei der Main Activity habe ich geschrieben:

<action android:name="com.example.testing.MAINACTIVITY" /> //das ist der Pfad auf den ich Verweise. Siehe unten.

<category android:name="android.intent.category.DEFAULT" />


In meiner Klasse SPLASH habe ich dann stehen:

Intent forwarding = new Intent("com.example.testing.MAINACTIVITY");
startActivity(forwarding);


Wenn ich das nun ausführe bekomme ich den Fehler, das er keine handlebaren Activities unter dem Pfad com.example.testing.MAINACTIVITY findet.
Könnt ihr mir erklären warum das nicht geht?
Habe es nun so gelöst:

<activity
android:name="com.example.testing.MainActivity"
android:label="@string/app_name" >

</activity>


Mit dem Aufruf: startActivity(new Intent(Splash.this, MainActivity.class));

Das ist kürzer und gefällt mir eigentlich auch besser. Ich wüsste aber trotzdem sehr gern wo mein Fehler ist, da ich das in einem Tutorial gefunden habe.

Viele Grüße und im voraus vielen Dank für eure Hilfe,

Tobias

Antworten
Philipp H
  • Forum-Beiträge: 184

16.02.2014, 23:18:54 via App

Das war fast richtig nur musst du das ganz so schreiben: ( Wir gehen von den namen Splash.class und Main.class aus)


Intent i = new Intent(Splash.this, Main.class);

startActivity(i);


Du hast einfach die zweite Klasse vergessen im intent anzugeben hättest du dies gemacht hätte es geklappt. Ich würde dir aber diese Variente empfehlen da du hier besser weitere Wertw übergen kannst

Ein Fehler ist kein Fehler es ist ein Feature///https://play.google.com/store/apps/developer?id=Nimal+Development

Antworten
Tobias Wiens
  • Forum-Beiträge: 4

17.03.2014, 23:53:14 via Website

Hallo Philipp,

ich danke dir vielmals für deine Antwort und entschuldige mich für meine späte antwort darauf.
Ich werde es gleich morgen ausprobieren, aber ich habe mittlerweile kräftig weiterprogrammiert und sehe dank deiner Hilfe meinen Fehler nun auch :)
ganz schön anstregend mit den ganzen intents... :D

Viele Grüße, Tobias

Antworten