Запуск PreferenceActivity из TabActivity
У меня есть TabActivity
который запускается при запуске приложения. Он содержит 3 вкладки. Я добавил опцию Настройки в OptionMenu, которая при нажатии запускает кастом PreferenceActivity
, это простая деятельность, которая делает addPreferencesFromResource(R.xml.preferences);
в его onCreate
метод. Тем не менее, когда пользователь нажимает на Settings
вариант, я получаю это предупреждение, и ничего не отображается вообще:
07-07 13:07:56.397: WARN/InputManagerService(110): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4075fa28
Что именно проблема с этим? Есть ли какой-то особый способ справиться с Calling Activity внутри? TabActivity
, Как это исправить?
Заранее спасибо.
3 ответа
Вместо использования xml
Я делал это программно в каждом из упражнений, и это работало нормально.
Используйте намеренную структуру, которая указывает, какой пользовательский PreferenceActivity
начать. Я думаю, что-то вроде ниже.
getTabHost().addTabSpec().setContent(yourIntentHere);
Вот что я делаю:
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent 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);