1
你好,我有以下代码:如何处理lambda表达式与3个参数Java8
view.setOnLongClickListener((viewL) -> {
final CharSequence[] optionsDialog = {"Edit", "Delete"};
((MainActivity) context).myDialog.setSingleChoiceItems(optionsDialog, 0,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if(i==0){
final Intent myIntent = new Intent (context, MainInputActivity.class);
myIntent.putExtra("request", 8);
myIntent.putExtra("oldTask", mySubTask.getSubTaskText());
myIntent.putExtra("taskCode", mySubTask.getSubtaskCode());
((MainActivity) context).startActivityForResult(myIntent, 8);
dialogInterface.dismiss();
}
if(i==1){
realm.executeTransaction((realm) -> mySubTask.deleteSubtask());
realm.refresh();
notifyDataSetChanged();
((MainActivity) context).updateWidgets();
dialogInterface.dismiss();
}
}
});
所以在这里我有一个SAM表达,我在内心里想写((MainActivity) context).myDialog.setSingleChoiceItems
为lambda过。问题是,setSingleChoiceItems
有3个参数,我不知道我应该如何将片段转换为lambda。它甚至有可能吗?根据我的IDE,这就是为什么我问这个问题。
就是这样,谢谢 –