如何在NavigationDrawerActivity上实现接口?

时间:2016-06-14 12:02:52

标签: android navigation-drawer

我目前正在空白活动中实现一个接口,没有任何问题但是当我不得不转移到另一个活动时,例如一个已经实现类似导航抽屉的活动,我对如何实现我的界面感到困惑。例如,对于

下面的界面
public interface TabsListener {
    void onTabAdded();
    void onTabRemoved();
}

我会在空白活动上以这种方式实现它

public class MainActivity extends AppCompatActivity implements TabsListener {

但是再次对于已经实现了Listener的Navigation抽屉活动我是否必须将我的接口包含为子类,还是可以从main方法完成?

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigatioinItemSelectedListener {}

3 个答案:

答案 0 :(得分:1)

您可以用逗号(,)分隔来实现。

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigatioinItemSelectedListener,TabsListener {}

答案 1 :(得分:1)

在java中,您只能扩展一个类,但可以实现所需的所有接口。

public class MainActivity extends AppCompatActivity implements Interface1, Interface2 {

    private Interface1 mListener1;
    private Interface2 mListener2;
}

如果你想创建一个扩展另一个功能的新界面,可以直接扩展基本界面:

Interface1 {
      public void method1();
}

Interface2 extends Interface1 {
      public void method2();
}

class MyClass implements Interface2 {

      @Override public void method1(){}
      @Override public void method2(){}
}

答案 2 :(得分:0)

您可以创建具有多个接口的接口:

public interface MyInterface{
    interface Interface1{
        void methodX();
    }
    interface Interface2{
        void methodY();
    }
    interface Interface3{
        void methodZ();
    }       
}

然后在你的活动中:

public class MyActivity
        extends AppCompatActivity
        implements MyInterface.Interface1,
        MyInterface.Interface2{

    @Override
    public void methodX() {
    //some fun code
    }

    @Override
    public void methodY() {
    //some fun code
    }
}