public interface toggleMenu {
void selectMenu(boolean b);
}
首先在一个class里面,定义一个接口和一个接口内部类,以及声明一个
private toggleMenu tMenu;
public void setToggleMenu(toggleMenu tMenu) {
this.tMenu = tMenu;
}
然后定义一个方法
然后另一个class 继承该接口,会自动创建该接口的内部方法
@Override
public void selectMenu(boolean b) {
// TODO Auto-generated method stub
if(b){
mMenu.toggle();
}
}
然后在第二个class里面声明第一个class 并调用下面这个方法
MenuFragment menuFragment = new MenuFragment();
menuFragment.setToggleMenu(this);
这个时候 ,通过
menuFragment.setToggleMenu(this);
和
this.tMenu = tMenu;
我们便在第一个class中拿到第二个class的toggleMenu 因为他继承了toggleMenu,所以this指的是toggleMenu。
这时 当你在第一个class
tMenu.selectMenu(true);
时调用的是第二个class中的
@Override
public void selectMenu(boolean b) {
// TODO Auto-generated method stub
if(b){
mMenu.toggle();
}
}
方法
从而达到了
mMenu.toggle();
的目的。。
这里面的
mMenu
就是
toggleMenu
真是乱啊 醉了。。。