【问题标题】:Error:(137, 57) error: incompatible types: fragmentAboutUs cannot be converted to Fragment错误:(137, 57) 错误:不兼容的类型:fragmentAboutUs 无法转换为 Fragment
【发布时间】:2016-11-07 10:29:51
【问题描述】:

我必须在我的应用程序中使用Fragments,所以我有谁的时刻,但其中一个片段将包含另一个片段,我需要ViewPager。我发现了很多带有指南的文章,几乎完成了,但我必须将我的一个片段转换为FragmentActivity,这就是为什么我不能像平常一样使用它Fragment。如何创建这样的树,我将有 4 个片段,其中一个将是另一个片段的父母。

public boolean onNavigationItemSelected(MenuItem item)
    {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();

        if (id == R.id.nav_new_order)
        {
            fragmentTransaction.replace(R.id.container, fNewOrder);
        }
        else if (id == R.id.nav_orders)
        {
            fragmentTransaction.replace(R.id.container, fOrders);
        }
        else if (id == R.id.nav_settlements)
        {
            fragmentTransaction.replace(R.id.container, fSettlements);
        }
        else if (id == R.id.nav_about_us)
        {
            fragmentTransaction.replace(R.id.container, fAboutUs);
        }
        else if (id == R.id.nav_exit)
        {
            // exit

            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            intent = new Intent(this, Login.class);
            startActivity(intent);
        }

        fragmentTransaction.commit();

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        assert drawer != null;
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }

这里我有我的“宝贝”,我必须在我的片段之一中使用它。它已经实现,它可以工作,但我不能调用它,因为我有这个问题:parrent 不再是Fragment

    public class fragmentAboutUs extends FragmentActivity
{
    static final String TAG = "myLogs";
    static final int PAGE_COUNT = 4;

    ViewPager pager;
    PagerAdapter pagerAdapter;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_about_us_pages);

        pager = (ViewPager) findViewById(R.id.pager);
        pagerAdapter = new fragmentAboutUs.MyFragmentPagerAdapter(getSupportFragmentManager());
        pager.setAdapter(pagerAdapter);

        pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener()
        {

            @Override
            public void onPageSelected(int position)
            {
                Log.d(TAG, "onPageSelected, position = " + position);
            }

            @Override
            public void onPageScrolled(int position, float positionOffset,
                                       int positionOffsetPixels)
            {
            }

            @Override
            public void onPageScrollStateChanged(int state)
            {
            }
        });
    }

    private class MyFragmentPagerAdapter extends FragmentPagerAdapter
    {
        private MyFragmentPagerAdapter(FragmentManager fm)
        {
            super(fm);
        }

        @Override
        public Fragment getItem(int position)
        {
            return AboutUsPages.newInstance(position);
        }

        @Override
        public int getCount()
        {
            return PAGE_COUNT;
        }

    }
}

那么我应该怎么做,如何使用我的父母作为片段,但也实现孩子?

【问题讨论】:

    标签: java android android-fragments


    【解决方案1】:

    更改您的导入

    import android.app.Fragment;
    

    import android.support.v4.app.Fragment;
    

    【讨论】:

    • 我已经在使用那个导入了,那是关于我的类实现的。我不知道,如何运行它,我的片段应该扩展片段以正常工作,但如果我想正确使用我的孩子,我必须使用片段活动 =\
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 2017-05-18
    • 2019-02-26
    • 2021-04-27
    • 1970-01-01
    • 2018-05-28
    相关资源
    最近更新 更多