Запуск 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);
Другие вопросы по тегам