Activity beendet sich beim drehen des Devices

  • Antworten:4
Michael H
  • Forum-Beiträge: 127

26.02.2013, 11:29:11 via Website

Hallo zusammen!
Habe ein Problem, wo ich nicht recht weiter weiss...
Wenn ich in der Startactivity bin und das Device wende, sollte sich eigentlich die Activity neu zeichnen. Nun schliesst sich aber die Activity automatisch ohne eine Nachricht zu hinterlassen. Im Logcat kann ich auch keine Fehlerausgabe finden. Hatte bereits einer von euch dieses oder ein ähnliches Problem.

Vielleicht noch zur Hilfe mein Code (onCreate und onResume)

1@Override
2 protected void onCreate(Bundle savedInstanceState) {
3 super.onCreate(savedInstanceState);
4 setContentView(R.layout.activity_main);
5 // Reference to gridview
6 gridView = (GridView) findViewById(R.id.main_gridview);
7 gridView.setNumColumns(getColumns());
8 menuItems = getMenuItems();
9 adapter = new MainActivityArrayAdapter(this, menuItems);
10 gridView.setAdapter(adapter);
11 gridView.setOnItemClickListener(this);
12 }
13
14 @Override
15 public void onResume() {
16 super.onResume();
17 gridView.setNumColumns(getColumns());
18 refreshAdapter();
19 }

Würde mich über eine Rückmeldung freuen..

Edit:
Habe nun gemerkt dass wenn ich nur das layout einbinde und sonsts nichts ausführe, also oncreate und onresume die übrigen Zeilen auskommentiere geschieht dasselbe. Also kann es nicht an meinem Code liegen!?!?

Edit:
Habe jetzt die LogMeldung rausgekriegt:




Gruss Michi

— geändert am 26.02.2013, 11:44:45

Antworten
Devintelligence
  • Forum-Beiträge: 12

26.02.2013, 12:48:56 via Website

Hi,

wie sieht deine AndroidManifest Datei aus?

Grüße

Chris

Antworten
Michael H
  • Forum-Beiträge: 127

26.02.2013, 13:35:42 via Website

Hi Chris

Hier die Manifest-datei:

1<application
2 android:allowBackup="true"
3 android:icon="@drawable/ic_launcher"
4 android:label="@string/app_name"
5 android:theme="@style/AppTheme" >
6 <activity
7 android:name="ch.huber.warehousemanagement.activities.MainActivity"
8 android:launchMode="singleTask"
9 android:label="@string/app_name" >
10 <intent-filter>
11 <action android:name="android.intent.action.MAIN" />
12
13 <category android:name="android.intent.category.LAUNCHER" />
14 </intent-filter>
15 </activity>
16....
17....

// Fehler tritt auch ohne launchMode="singleTask" auf.

Gruss Michi

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.02.2013, 17:39:16 via Website

Ich nehme an, dass die App versucht, das onCreate neu aufzurufen.
Versuchs mal so:

1<activity
2 android:name="ch.huber.warehousemanagement.activities.MainActivity"
3 android:launchMode="singleTask"
4android:configChanges="keyboardHidden|orientation|screenLayout|screenSize"
5 android:label="@string/app_name" >
6<intent-filter>
7<action android:name="android.intent.action.MAIN" />
8<category android:name="android.intent.category.LAUNCHER" />
9</intent-filter>
10</activity>

"android:configChanges="keyboardHidden|orientation|screenLayout|screenSize""
Das bewirkt, dass die App nicht immer neu geladen wird beim drehen.

— geändert am 26.02.2013, 18:20:23

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

26.02.2013, 18:31:32 via Website

Das nützt aber wenig, den Lifecycle Lahmlegen kann ja kaum ein gut gemeinter rat sein.

Ich würde mal schauen wo du Views verwendest die aus der 'alten'acitivty stammen, daher auch der Fehler. Das sind aber eher Android Basics die man wissen sollte. Schau ebenfalls nach das du da nicht beim erzeugen der View den ApplicationContext verwendest.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten