- Forum-Beiträge: 46
05.02.2015, 12:15:12 via Website
05.02.2015 12:15:12 via Website
Hallo,
gibt es eine Möglichkeit Activitys durch das Wischen nach rechts oder links zu wechseln?
Vielen Dank für Eure Hilfe
Mit freundlichen Grüßen.
05.02.2015, 12:15:12 via Website
05.02.2015 12:15:12 via Website
Hallo,
gibt es eine Möglichkeit Activitys durch das Wischen nach rechts oder links zu wechseln?
Vielen Dank für Eure Hilfe
Mit freundlichen Grüßen.
05.02.2015, 16:47:21 via App
05.02.2015 16:47:21 via App
Ja sicher. Eleganter und schneller aber ein ViewPager, der dich zwischen Fragmenten wechseln lässt.
Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀
Why Java? - Because I can't C#
07.02.2015, 19:27:57 via Website
07.02.2015 19:27:57 via Website
Vielen Dank für deine Antwort. Leider finde ich nichts zu diesem ViewPager, könnte vielleicht jemand ein Beispiel machen? Und geht das dann auch mit "Intent" wenn ihr wisst was ich meine?
07.02.2015, 19:54:23 via Website
07.02.2015 19:54:23 via Website
Zum ViewPager findet man doch ziemlich viel, das zum Beispiel: http://architects.dzone.com/articles/android-tutorial-using
Was meinst du mit Intent?
Ja du kannst trotzdem Intents ausfühen nur nicht innerhalb des Viwpager. Sobald du ein Intent startest wird Die View pager Activity beendet und deine andere Activity kommt zum vorschein.
Da musst du dann schon alles umstellen (oder auch nicht, geht auch ohne ist aber dann sehr komplex).
LG
LG Pascal //It's not a bug, it's a feature.
08.02.2015, 00:04:56 via App
08.02.2015 00:04:56 via App
Ich glaube du willst Intents benutzen um Daten zu übertragen. Versuch aber erstmal einen ViewPager hinzubeokmmen und dann wirst du schon von alleine sehen, wie das mit den Daten geht.
Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀
Why Java? - Because I can't C#
08.02.2015, 07:52:02 via App
08.02.2015 07:52:02 via App
Bei dem ViewPager kann man glaube ich auch mit einem Befehl die Position festlegen.
Ist es das was du meinst?
08.02.2015, 13:56:53 via Website
08.02.2015 13:56:53 via Website
Danke für eure Hilfe
Die sache ist die, ich hatte eine vorher existierende Activity die halt nicht wie bei dem ViewPager "extends Fragment" sondern eine "extends ActionBarActivity" war. Wenn ich nun den Code, explizit die onCreate-Methode in die vom ViewPager bzw. Fragment erzeugten Methode "@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState){}" versuche hinein zu fügen geht das natürlich nicht. Hat wer ein Lösungsvorschlag?
Vielen Dank
08.02.2015, 14:09:13 via Website
08.02.2015 14:09:13 via Website
Warum sollte das nich gehenß
In einem Fragment kannst du auch alles machen. Du brauchst halt nur deine Acitivty, welche du mit getCtivity() bekommst.
Dazu musst du den Code aber verändern.
Ich würde dir aber empfehlen ActionBar etc. aus der Activity zu steuern und die Fragments unabhängig der Activity machen.
Bei speziellen Problemen poste mal bitte deinen Code.
LG Pascal //It's not a bug, it's a feature.
08.02.2015, 14:30:43 via Website
08.02.2015 14:30:43 via Website
public class home extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_home, container, false);
Parse.initialize(this, "application_id", "password"); //den 2. und 3. Parameter kann ich euch nicht zeigen sonst hättet ihr wichtige Daten
ParseUser currentUser = ParseUser.getCurrentUser();
if(currentUser != null){
//bleib auf der home-activity
}else{
Intent intentonLogin = new Intent(this, login.class);
startActivity(intentonLogin);
}
}
}
So und alles ab "Parse.initalize...." bis "startActivity..." war halt vorher in der onCreate Methode aber da ich ja jetzt diese Activity als Fragment habe funktioniert das halt nicht mehr
Fehler sind: (fett und kursiv)
Parse.initialize(this, "applikation_id", "password_id");
Intent intentonLogin = new Intent(this, login.class);
— geändert am 08.02.2015, 14:45:21
08.02.2015, 14:36:15 via Website
08.02.2015 14:36:15 via Website
Soll das login extra als eigene Activty bleiben?
Wenn ja dann ist das ganz einfach:
Dein this Schlüsselwort bezog sich in der Activity auf den Context oder Activity.
Somit machst du jetzt:
Context c = getApplicationContext();
oder
Activity act = getActivity();
überall da wo this steht musst du dan entweder act oder ctx einsetzen.
PS: Sind das unten in deinem Post die echten ID und PW?
Wen ja dann wieder rausnehmen
— geändert am 08.02.2015, 14:37:51
LG Pascal //It's not a bug, it's a feature.
08.02.2015, 14:43:20 via App
08.02.2015 14:43:20 via App
Die erste Anweisung ist gleich return. Der Rest der Methode wird dann nicht ausgeführt.
Ich mache gerne in die oncreateview nur das view mit return und in onviewcreated den rest. Würde sich bei dir auch anbieten.
Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀
Why Java? - Because I can't C#
08.02.2015, 14:50:57 via Website
08.02.2015 14:50:57 via Website
Pascal P.
Soll das login extra als eigene Activty bleiben?
Wenn ja dann ist das ganz einfach:
Dein this Schlüsselwort bezog sich in der Activity auf den Context oder Activity.
Somit machst du jetzt:
Context c = getApplicationContext();oder
Activity act = getActivity();
überall da wo this steht musst du dan entweder act oder ctx einsetzen.
PS: Sind das unten in deinem Post die echten ID und PW?
Wen ja dann wieder rausnehmen
Ok das ist jetzt ganz komisch, also erstmal danke wegen der id und pw upps
Und Wenn ich Activity act = getActivity(); und
Context c = getApplicationContext();
streicht er nur getApplicationContext an und sagt cannot resolve
wenn ich dann getApplication weg mache streicht er Activity act = get.. an und sagt Unreachable statement
08.02.2015, 14:52:42 via App
08.02.2015 14:52:42 via App
Lies meinen Post. Unreachable weil am anfang direkt return.
Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀
Why Java? - Because I can't C#
08.02.2015, 14:55:56 via Website
08.02.2015 14:55:56 via Website
Sven R.
Lies meinen Post. Unreachable weil am anfang direkt return.
Übersehen, trotzdem streicht er jetzt "return" an und sagt "missing return value", du meintest ja das return in
ParseUser currentUser = ParseUser.getCurrentUser();
if(currentUser != null){
return;
}else{
Intent intentonLogin = new Intent(act, login.class);
startActivity(intentonLogin);
}
oder?
08.02.2015, 14:58:34 via Website
08.02.2015 14:58:34 via Website
Mitdenken mussst du schon:
View v = inflater.inflate(R.layout.activity_home, container, false); // Das am anfang
und am ende:
return view;
LG Pascal //It's not a bug, it's a feature.
08.02.2015, 15:12:47 via Website
08.02.2015 15:12:47 via Website
Oh, voll nicht dran gedacht, sorry bin wohl überarbeitet.
Trotzdem folgt ein Runtime Error:
08 08:21:20.120 2417-2417/de.myapp.myapp E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{de.myapp.myapp/de.myapp.myapp.home}: java.lang.ClassCastException: de.myapp.myapp.home cannot be cast to android.app.Activity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassCastException: de.myapp.myapp.home cannot be cast to android.app.Activity
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
08.02.2015, 15:29:13 via App
08.02.2015 15:29:13 via App
Zeig mal deinen jetzigen Code. Irgendwo scheints du was zu casten. Ich kann mir den Fehler gerade nicht vorstellen.
Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀
Why Java? - Because I can't C#
08.02.2015, 19:03:10 via Website
08.02.2015 19:03:10 via Website
package de.myapp.myapp;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import com.parse.Parse;
import com.parse.ParseUser;
public class home extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_home, container, false);
Activity act = getActivity();
Parse.initialize(act, "applikation_id", "password");
ParseUser currentUser = ParseUser.getCurrentUser();
if(currentUser != null){
return view;
}else{
Intent intentonLogin = new Intent(act, login.class);
startActivity(intentonLogin);
}
return view;
}
}
— geändert am 08.02.2015, 19:03:33
08.02.2015, 19:05:53 via App
08.02.2015 19:05:53 via App
Ach. Extended die login.java von Activity? Anscheinend nicht. Das wäre das Problem.
Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀
Why Java? - Because I can't C#
08.02.2015, 19:20:06 via Website
08.02.2015 19:20:06 via Website
Das verstehe ich nicht
Das ist jetzt die home activity bzw das fragment
Ich hab mal in der manifest.xml nachgeguckt und da sind die 3 Fragmente also home,status und konto alle 3 als Activity aufgelistet aber das sind sie ja nicht. hier mal kurz ein Beispiel:
< activity
android:name=".status"
android:label="@string/title_activity_status" >
< /activity>
Was muss denn da jetzt stehen anstatt activity?
— geändert am 08.02.2015, 19:37:35
08.02.2015, 19:55:25 via Website
08.02.2015 19:55:25 via Website
Garnix (zuerstmal)
Eine Activity ist das, was ausgeführt wird (und eine UI erstellt etc).
Fragments sind zum Veranschalichen und darstellen gedacht.
Deine login.class muss also so aussehen:
public class login extends Activity
{
//do your login Stuff
}
LG Pascal //It's not a bug, it's a feature.
08.02.2015, 20:00:30 via Website
08.02.2015 20:00:30 via Website
so sieht sie auch aus
also wenn ihr euch darauf bezieht mit dem "public class login extends Activity"
Also kann ich gar keine Aktionen auf den Fragmenten ausführen?
— geändert am 08.02.2015, 20:01:04
08.02.2015, 20:14:25 via App
08.02.2015 20:14:25 via App
Doch aber Fragmente kannst du nicht per Intent Starten.Ausserdem ist ein Login als extra Activity wahrscheinlich besser da du dann einfacher Login und andere Fragments trennen kannst.
Ich denke du solltest dich da mehr einlesen.
LG Pascal //It's not a bug, it's a feature.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.