我试图在Android Studio中使用GitHub库(MeowBottomNavigation),但是它是用kotlin编写的,我无法在其中使用侦听器。 唯一给出的就是这个
bottomNavigation.setOnShowListener {
}
bottomNavigation.setOnClickMenuListener {
}
建议显示使用
(Function1)
我不确定如何在java中实现它。任何帮助将不胜感激。
我熟悉Java,但是该库是用Kotlin编写的。有没有办法在Java中使用这些侦听器?
bottomNavigation.setOnClickMenuListener(new
Function1<MeowBottomNavigation.Model, Unit>() {
@Override
public Unit invoke(MeowBottomNavigation.Model p1) {
int i = p1.getId();
switch (i){
case 4:
Toast.makeText(UserMainActivity.this, i, Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(UserMainActivity.this, i, Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(UserMainActivity.this, i, Toast.LENGTH_SHORT).show();
break;
case 3:
Toast.makeText(UserMainActivity.this, i, Toast.LENGTH_SHORT).show();
break;
}
return Unit.INSTANCE;
}
});
答案 0 :(得分:2)
Function0,Function1,Function2,... FunctionN是kotlin中的高阶函数。
转换为Java后,您的点击监听器将变成如下所示。
// Set Menu Click Listener
bottomNavigation.setOnClickMenuListener(new Function1<MeowBottomNavigation.Model, Unit>() {
@Override
public Unit invoke(MeowBottomNavigation.Model p1) {
return Unit.INSTANCE;
}
});
// Set Menu Show listener
bottomNavigation.setOnShowListener(new Function1<MeowBottomNavigation.Model, Unit>() {
@Override
public Unit invoke(MeowBottomNavigation.Model s) {
return Unit.INSTANCE;
}
});
答案 1 :(得分:0)
类似这样的东西:
bottomNavigation.setOnShowListener( new IBottomNavigationListener(Model model)
{
} );