1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. orium, 15.05.2012 #1
    orium

    orium Threadstarter Android-Hilfe.de Mitglied

    Servus Leute,

    wie mein Titel schon sagt habe ich das Problem, dass meine "onCreate" Methode bei der orientation changed funktion neu aufgerufen wird..

    Beispielsweise rufe ich innerhalb meiner App ein Bild aus dem Web auf (in der onCreate Methode) und lasse dies eben in einem ImageView anzeigen.
    Wenn ich nun das Gerät drehe zieht er sich das Bild erneut...ist es denn irgendwie möglich, dass meine UI Elemente bestehen bleiben, bzw. die onCreate Methode, wie ich jetzt eben vermute, nicht erneut aufgerufen wird?

    Grüße
    Orium
     
    Zuletzt bearbeitet: 15.05.2012
  2. Tom299, 15.05.2012 #2
    Tom299

    Tom299 Android-Experte

    Wenn du das drehen komplett verhindern willst, kannst du in der Manifest "portrait" einstellen, dann bleibt die Activity immer im Hochformat.

    Ansonsten kannst du die Methode onConfigurationChanged überschreiben.
     
    orium gefällt das.
  3. orium, 15.05.2012 #3
    orium

    orium Threadstarter Android-Hilfe.de Mitglied

    Servus,

    ja den work around habe ich auch schon in anderen Apps realisiert, einfach das drehen zu verhindern, würde jedoch gerne eine Ändern des Formats zulassen.

    Hm okay, und wenn ich diese überschreibe führt er dann kein erneutes Starten der Activity aus?
     
  4. Tom299, 15.05.2012 #4
    Tom299

    Tom299 Android-Experte

    Code:
    public class ChangeOrientationActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            System.out.println("onCreate ...");
            
            final Button btnTest = new Button(this);
            btnTest.setText("Test 1234");
            btnTest.setOnClickListener(new OnClickListener() {
    			@Override
    			public void onClick(View v) {
    				btnTest.setText("Clicked");
    			}
    		});
            
            setContentView(btnTest);
        }
        
        @Override
        public void onConfigurationChanged(Configuration newConfig) {
        	super.onConfigurationChanged(newConfig);
        	
        	System.out.println("onConfigurationChanged ...");
        }
        
    }
    
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="de.test"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk android:minSdkVersion="10" />
    
        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <activity
                android:name=".ChangeOrientationActivity"
                android:configChanges="orientation|keyboardHidden"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    
    Wichtig hier: android:configChanges="orientation|keyboardHidden"
     
    orium gefällt das.
  5. orium, 15.05.2012 #5
    orium

    orium Threadstarter Android-Hilfe.de Mitglied

    Hm okay, und somit wird dann bewirkt, dass eben bei einer Rotation des Bildschirms die onConfigurationChanged() ausgeführt wird und nicht wieder die onCreate() ?
     
  6. Tom299, 15.05.2012 #6
    Tom299

    Tom299 Android-Experte

    genau
     
    orium gefällt das.
  7. orium, 15.05.2012 #7
    orium

    orium Threadstarter Android-Hilfe.de Mitglied

    Okay klasse vielen Dank :) Werde es gleich mal in meiner Application ausprobieren :)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[INFO] Neue Playstore Richtlinien im Mai 2017 Android App Entwicklung 19.05.2017
[UMFRAGE/INFO/DISKUSSION] Kotlin, die neue Programmiersprache für Android Android App Entwicklung 18.05.2017
[OFFEN/DISKUSSION] Auf der Suche nach der besten Purchase Methode Android App Entwicklung 24.03.2017
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017
[OFFEN] Snackbar Textzeilen setzen in einer onclick methode Android App Entwicklung 17.03.2017
Wie verhindere ich die mehrfach Initialisierung von onCreate ? Android App Entwicklung 18.02.2017
Viewelemente neu zeichnen Android App Entwicklung 04.01.2017
Implementieren der Methode nicht möglich Android App Entwicklung 20.12.2016
Android Studio Fehler Overriding method should call super.draw Android App Entwicklung 11.10.2016
Android Studio: Fehlermeldung "... different signature" auf neuem PC Android App Entwicklung 03.10.2016
Du betrachtest das Thema "onCreate Methode soll bei Orientation Changed nicht wieder neu augerufen werden" im Forum "Android App Entwicklung",