在java中使用Kotlin库

问题描述 投票:1回答:2

我试图在Android Studio中使用GitHub库(MeowBottomNavigation)。但是它用kotlin编写,我不能使用它中的监听器。唯一给出的就是这个

bottomNavigation.setOnShowListener {
}

bottomNavigation.setOnClickMenuListener {
}

建议显示使用

(功能1)

我不确定如何在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;
        }
    });
java android kotlin
2个回答
0
投票

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;
        }
    });

0
投票

像This这样的东西::

bottomNavigation.setOnShowListener( new IBottomNavigationListener(Model model)
{


} );
© www.soinside.com 2019 - 2024. All rights reserved.