如何在不扩展Fragment android的情况下创建片段

时间:2016-05-24 09:24:05

标签: android android-fragments

我遇到的问题是我的2个片段需要扩展Fragment类,所以我可以将它们用作片段。但是这两个类已经扩展了一个类..

我如何将它们用作碎片?

public class Result_Main extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.result_main);

        final ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
        pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));


    }

    private class MyPagerAdapter extends FragmentPagerAdapter {

        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int pos) {
            switch (pos) {
                case 0:
                    return new Result_Primary(); 
                case 1:
                    return new Result_Additional();
                default:
                    return new Result_Primary();
            }
        }

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我们知道Java不支持多重继承。所以你不能用一个类来扩展多个类。

您可以采用两种方法来解决您的问题。

  1. 正如你所说,你正在扩展两个一级是Fragment,第二个是自制类。所以你可以实现像......这样的界面。
  2. interface A extends selfmade class

    并将接口A实现到主类

    class Main extends Fragment implements A
    
    1. 您也可以将自制(扩展)类作为主类中的私有内部类。(如果您的扩展类不在其他类中使用)
    2. 希望这会对你有所帮助。