开发者

Starting a PreferenceActivity from a TabActivity

开发者 https://www.devze.com 2023-03-17 21:28 出处:网络
I have aTabActivity which starts when the application is launched. It contains 3 tabs. I have added a Settings option in the OptionMenu which when clicked starts a custom PreferenceActivity. it is a

I have a TabActivity which starts when the application is launched. It contains 3 tabs. I have added a Settings option in the OptionMenu which when clicked starts a custom PreferenceActivity. it is a simple activity which does addPreferencesFromResource(R.xml.preferences); in its onCreate method. However, when the user clicks on the Settings option, I receiv开发者_如何学Pythone this warning and nothing is shown at all :

07-07 13:07:56.397: WARN/InputManagerService(110): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4075fa28

What exactly is the problem with this? Is there any special way to handle Calling Activities inside TabActivity. How to fix this?

Thanks in advance.


Use the intent framework that indicates which custom PreferenceActivity to start. Something like below, I think.

getTabHost().addTabSpec().setContent(yourIntentHere);


Here's what I do:

TabHost tabHost = getTabHost();  // The activity TabHost
TabHost.TabSpec spec;            // Resusable TabSpec for each tab
Intent intent;                  // Reusable Intent for each tab

Then, for each tab:

intent = new Intent().setClass(this, YOURCLASS.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("JUSTSOMENAME")
                 .setContent(intent);
tabHost.addTab(spec);


Instead of the using the xml, I did this programmatically inside each of the activities and it worked fine.

0

精彩评论

暂无评论...
验证码 换一张
取 消