如何将AppCompactActivity和Fragment一起扩展?

时间:2017-06-19 18:38:47

标签: java android class interface extend

截至目前,我有两个类,第一个类是我想要放在第二个使用片段的类中。

第一堂课看起来像这样 -



public class MainActivity extends AppCompatActivity implements BluetoothAdapter.LeScanCallback {


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




,第二节看起来像这样



public class Tab2Fragment extends Fragment {
    private static final String TAG = "Tab2Fragment";

   

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.tab2_fragment,container,false);
       
        return view;
    }
}




我想结合这些,但我需要这样的东西



public class Tab2Fragment extends Fragment, AppCompatActivity implements BluetoothAdapter.LeScanCallback {
}




我到处寻找,但得出的结论是,按照我想要的方式进行此操作的唯一方法是使用界面。但我会遇到类似的问题,在一个类中实现两个接口! :(请帮助我已经尝试了4天了。提前致谢。

3 个答案:

答案 0 :(得分:0)

首先,片段和活动是两个非常不同的东西。

其次,您实际上无法从Java中的2个不同类扩展。这是不可能的。

第三,您在活动中为您的片段中的相同视图充气。这可能不是你想要的。

您应该看看如何在Activity中实现Fragments。您需要访问FragmentManager(每个Activity都有一个),然后将Fragment添加到FragmentManager中。

尝试并谷歌,有很多指南。

答案 1 :(得分:0)

java中没有多重继承。如果您不知道延伸意味着您的课程基本上成为片段或活动。它不能同时出现。

答案 2 :(得分:0)

你不能用Java做到这一点。因为Java不支持多继承。

但是对于Interfaces,你可以做到。您可以在单个类中实现多个接口,在那里您可以实现所有这些接口中定义的方法。