我正在尝试使用Android兼容包v4将基于片段的设计替换为我的应用程序中的TabActivity.
我遇到的问题是我的TabActivity中的一个选项卡是PreferencesActivity,由于显而易见的原因,我无法从FragmentActivity启动它.
所以,既然,PreferenceFragment没有包含在Android兼容包中,我也无法从我的片段活动中启动PreferenceActivity,我该怎么办?
对任何建议开放.
编辑:尝试从我的片段活动打开PreferenceActivity时得到的异常在这里:
FATAL EXCEPTION: main
java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager activityGroup)'?
at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:652)
at android.widget.TabHost.setCurrentTab(TabHost.java:326)
at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:132)
at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:456)
at android.view.View.performClick(View.java:2485)
at android.view.View$PerformClick.run(View.java:9080)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
我的FragmentActivity代码如下(大部分内容来自'tabs'的兼容包v4示例):
EDIT2:为了清楚起见,还添加了示例代码:
import java.util.HashMap;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TabHost;
import android.widget.TextView;
public class …Run Code Online (Sandbox Code Playgroud) android ×1