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