Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android碎片标签抛出错误_Android_Android Fragments - Fatal编程技术网

Android碎片标签抛出错误

Android碎片标签抛出错误,android,android-fragments,Android,Android Fragments,我正在尝试为2个选项卡创建2个不同的活动。但在启动活动期间抛出错误。这是我的密码: public class CashSales extends FragmentActivity { private FragmentTabHost mTabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我正在尝试为2个选项卡创建2个不同的活动。但在启动活动期间抛出错误。这是我的密码:

public class CashSales extends FragmentActivity {
    private FragmentTabHost mTabHost;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.cash_sales_tab);
        mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
        mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);

        mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
                CustomerAddActivity.class, null);
        mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
                ItemAddActivity.class, null);
    }
}
这是我的活动,将出现在一个选项卡中

   public class CustomerAddActivity extends FragmentActivity {
        private EditText mName; 
        private EditText mEmail1;
        private Integer mPkid;

        @Override
        protected void onCreate(Bundle bundle) {
            super.onCreate(bundle);
            setContentView(R.layout.activity_customer_add);

            mName = (EditText) findViewById(R.id.customer_add_name);
            mEmail1 = (EditText) findViewById(R.id.customer_add_email1);
            Button confirmButton = (Button) findViewById(R.id.customer_add_button);
'''''''''''''''''''''''''''         
        }
    }
CatLog:

02-26 05:52:39.732: E/AndroidRuntime(25579): FATAL EXCEPTION: main
02-26 05:52:39.732: E/AndroidRuntime(25579): java.lang.ClassCastException: asia.wavelet.android.customer.CustomerAddActivity cannot be cast to android.support.v4.app.Fragment
02-26 05:52:39.732: E/AndroidRuntime(25579):    at android.support.v4.app.Fragment.instantiate(Fragment.java:394)
02-26 05:52:39.732: E/AndroidRuntime(25579):    at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:339)
02-26 05:52:39.732: E/AndroidRuntime(25579):    at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:276)

您在这里为
addTab
方法提供了一个活动,而不是一个片段:

mTabHost.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
                CustomerAddActivity.class, null);
 mTabHost.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
                ItemAddActivity.class, null);

这就是为什么系统试图将活动强制转换为片段,并抛出
ClassCastException

您应该扩展片段,而不是片段活动

像这样

public class CustomerAddActivity extends Fragment
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return inflater.inflate(R.layout.activity_customer_add, container, false);
    }

您是否尝试过
getFragmentManager()
而不是
getSupportFragmentManager()
?实际上,我正在创建一个POS应用程序,其中第一个选项卡将是select customer。第二个选择项目,第三个设置付款。在第四个选项卡中将有一个预览和保存选项。通过单击“保存”选项,它将保存在数据库中。那么我应该只创建一个FragementActivity来保存所有选项卡吗?我是否需要在会话中保存每个选项卡的数据,直到“获取最终保存”按钮?只有扩展片段才能解决这些问题?