lambdas kotlinを使用して同じ動作をエミュレートする方法。kotlinで同じ動作をエミュレートする方法
Javaコード:
var sample= Sample();
sample.setOnClickListener({Int -> println("action performed") })
sample.performClick(); //will call this method whenever needed.
class Sample {
var click=null;
fun setOnClickListener(onClick : (Int)->Unit){
click= onClick // trying to assign and want to use it in another
funciton. I know it is wrong, how to achieve
this.
}
fun performClick()
{
click(5)
}
}
:kotlin 1として
public interface OnClickListener{
public void onClick();
}
public class Sample {
OnclickListener mOnclickListener;
public void setOnclickListener(OnclickListener l){
if(l!=null)
mOnclickListener =l;
}
public void performClick()
{
mOnclickListener.onClick(5);
}
}
public class SampleImpl{
Sample sample=new Sample();
sample.setOnClickListener(new OnClickListner(){ onClick{}});
sample.performClick();
}
は、機能はラムダで表すことができ、私は...
Kotlinコードをしようとしています一つの方法とのインタフェースのパラメータを受け取り、
これを達成するための選択肢はありますか?
コトリンのセミコロンは任意です – Moira
まず、あなたの'onClick()'がパラメータを受け取っていない場合、 'mOnclickListener.onClick(5);'で5を渡すのはなぜですか? –