I did search the forum but due to the low number of preferencescreen
example I couldn't find anything directly concerning both
preferenceactivity AND orientation. :-) I did state in my post I had
been reading the tuts on androidguys, unfortunately there is not a
'merged' example of both.
My stripped down version exhibits the same issue:
test.java:
public class test extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
MenuItem mi;
mi = menu.add(0,0,0,"Settings");
mi.setIcon(android.R.drawable.ic_menu_preferences);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()) {
case 0:
startActivityForResult(new
Intent(test.this,ShowSettings.class),
30);
return true;
}
return super.onOptionsItemSelected(item);
}
}
ShowSettings.java:
public class ShowSettings extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.settings);
}
}
settings.xml:
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Other Preference">
<PreferenceScreen
android:title="Other Preference"
android:summary="Other Preference">
<PreferenceCategory
android:title="Other Preference">
</PreferenceCategory>
</PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory
android:title="Other Preference">
</PreferenceCategory>
</PreferenceScreen>
If I click to the second preferences screen and change orientation I
get:
02-01 09:12:02.703: INFO/WindowManager(53): Input configuration
changed: { scale=1.0 imsi=0/0 locale=en_US touch=3 key=2/2 nav=3
orien=1 }
02-01 09:12:02.813: ERROR/WindowManager(262): Activity
uk.co.arcdev.android.test.ShowSettings has leaked window
com.android.internal.policy.impl.phonewindow$decorv...@43389f58 that
was originally added here
02-01 09:12:02.813: ERROR/WindowManager(262):
android.view.WindowLeaked: Activity
uk.co.arcdev.android.test.ShowSettings has leaked window
com.android.internal.policy.impl.phonewindow$decorv...@43389f58 that
was originally added here
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.view.ViewRoot.<init>(ViewRoot.java:178)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:147)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:90)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.view.Window$LocalWindowManager.addView(Window.java:393)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.app.Dialog.show(Dialog.java:212)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.preference.PreferenceScreen.showDialog(PreferenceScreen.java:
160)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.preference.PreferenceScreen.onClick(PreferenceScreen.java:142)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.preference.Preference.performClick(Preference.java:804)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:
182)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.widget.AdapterView.performItemClick(AdapterView.java:283)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.widget.ListView.performItemClick(ListView.java:3049)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.widget.AbsListView$PerformClick.run(AbsListView.java:1415)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.os.Handler.handleCallback(Handler.java:542)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.os.Handler.dispatchMessage(Handler.java:86)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.os.Looper.loop(Looper.java:123)
02-01 09:12:02.813: ERROR/WindowManager(262): at
android.app.ActivityThread.main(ActivityThread.java:3742)
02-01 09:12:02.813: ERROR/WindowManager(262): at
java.lang.reflect.Method.invokeNative(Native Method)
02-01 09:12:02.813: ERROR/WindowManager(262): at
java.lang.reflect.Method.invoke(Method.java:515)
02-01 09:12:02.813: ERROR/WindowManager(262): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
(ZygoteInit.java:739)
02-01 09:12:02.813: ERROR/WindowManager(262): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:497)
02-01 09:12:02.813: ERROR/WindowManager(262): at
dalvik.system.NativeStart.main(Native Method)
What I'm asking is: how can I find out what I need to get a handle or
whatever on to correctly control whatever object/widget that is being
used underneath when the activity is recreated?
When displaying the root preferences, this doesn't happen?
On Feb 1, 6:13 am, Chander Pechetty <[email protected]> wrote:
> Search the forum before posting:
> :-)http://groups.google.com/group/android-developers/browse_thread/threa...
> Mark Murphy's Blog ->http://androidguys.com/?s=rotational+forces
> android:configChanges="orientation"
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---