1

TabActivity を使用して、既に 1 つのアプリケーションを実装しています。今、TabActivity から Fragments に変更したいのですが、私のアプリケーションでは 4 つのタブと各タブを表示する必要があります。以前はTabActivityを作成していましたが、今はフラグメントに変更するとエラーが発生します...これが私のレイアウトです:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
    >
        <TabWidget
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/tabsHeader"
            android:layout_alignParentBottom="false"
            android:tabStripEnabled="false"
            android:hapticFeedbackEnabled="true"
            android:background="@drawable/epolicy_header_logo"
        />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" 
            android:layout_marginTop="40dp"
            android:layout_marginBottom="45dp"
        />

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:background="@drawable/epolicy_menu_bar"
            android:tabStripEnabled="false" >
        </TabWidget>

    </RelativeLayout>
</android.support.v4.app.FragmentTabHost>

これは私の活動です:

public class EpolicyMainActivity extends FragmentActivity {
private FragmentTabHost tabHost;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
    //hide title bar
    BasicDisplaySettings.toggleTaskBar(EpolicyMainActivity.this, false);
    //show status bar
    BasicDisplaySettings.toggleStatusBar(EpolicyMainActivity.this, true);

    super.onCreate(savedInstanceState);
    setContentView(R.layout.epolicy);
    tabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
    tabHost.setup(this, getSupportFragmentManager(),android.R.id.tabcontent);
    Resources res = getResources(); 
    Intent intent;  

    tabHost.addTab(tabHost.newTabSpec("Login").setIndicator("Login",
              res.getDrawable(R.drawable.epolicy_menu_xml_home)),
              LoginActivity.class,null);


    tabHost.addTab(tabHost.newTabSpec("NAB").setIndicator("NAB",
            res.getDrawable(R.drawable.epolicy_menu_xml_nab)),
            NABActivity.class,null);



    tabHost.addTab(tabHost.newTabSpec("Contact").setIndicator("Contact",
            res.getDrawable(R.drawable.epolicy_menu_xml_contact)),
            ContactActivity.class,null);


    tabHost.addTab(tabHost.newTabSpec("Agen").setIndicator("Agen",
            res.getDrawable(R.drawable.epolicy_menu_xml_agen)),
            AgenActivity.class,null);



}

私のコードに何か問題がありますか..? 私はインポートしようとしました

import android.support.v4.app.Fragment;

    android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentTabHost;

しかし丸太猫はまだ言う cannot be cast to android.support.v4.app.Fragment

誰かが私に教えて、どこが私のせいなのか教えてくれることを願っています。

アップデート

これは私のlogcatです

05-28 13:39:59.780: E/AndroidRuntime(15156): FATAL EXCEPTION: main
05-28 13:39:59.780: E/AndroidRuntime(15156): java.lang.ClassCastException: id.co.ajsmsig.epolicy.LoginActivity cannot be cast to android.support.v4.app.Fragment
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.support.v4.app.Fragment.instantiate(Fragment.java:394)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:339)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:276)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.view.View.dispatchAttachedToWindow(View.java:9831)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2198)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2206)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2206)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2206)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:953)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2459)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.os.Looper.loop(Looper.java:137)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at android.app.ActivityThread.main(ActivityThread.java:4514)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at java.lang.reflect.Method.invokeNative(Native Method)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at java.lang.reflect.Method.invoke(Method.java:511)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
05-28 13:39:59.780: E/AndroidRuntime(15156):    at dalvik.system.NativeStart.main(Native Method)
4

0 に答える 0