无法解析构造函数匿名MenuItem.OnMenuItemClickListener

时间:2017-01-13 17:02:43

标签: android bottom-sheet

我正在使用BottomSheet library设置此方法给我

  

无法解析构造函数匿名MenuItem.OnMenuItemClickListener

Cannot resolve constructor 'MenuSheetView(MyProjectName.....FragmentClassName, com.flipboard.bottomsheet.commons.MenuSheetView.MenuType, java.lang.String, anonymous android.view.MenuItem.OnMenuItemClickListener)'

我这样做与this library sample

相同
private void TestBS(){
    bottomSheet.showWithSheetView(
            new MenuSheetView(ViewLesson.this, MenuSheetView.MenuType.LIST, "Create...", 
            new MenuItem.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    return true;
                }
            }));
}

是否有人知道错误的产生

它只显示我发布的错误消息 enter image description here

MenuSheetView

ViewLesson

public class ViewLesson extends Fragment {

private Button CreateBtn;
private TextView DescriptionTV,Header;
private BottomSheetLayout bottomSheet;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    ....
    fetchData();

    return rootview;
}

private void fetchData() {....}

private void TestBS(){
    bottomSheet.showWithSheetView(
            new MenuSheetView(getContext(), MenuSheetView.MenuType.LIST, "Create...", new MenuItem.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    Log.i("dddd","ss");
                    //Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();
                    if (bottomSheet.isSheetShowing()) {
                        bottomSheet.dismissSheet();
                    }
                            /*if (item.getItemId() == R.id.reopen) {
                                showMenuSheet(menuType == MenuSheetView.MenuType.LIST ? MenuSheetView.MenuType.GRID : MenuSheetView.MenuType.LIST);
                            }*/
                    return true;
                }
            }));
}

}

getActivity()getActivity().getApplicationContext()也不起作用

Cannot resolve constructor 'MenuSheetView(android.content.Context, com.flipboard.bottomsheet.commons.MenuSheetView.MenuType, java.lang.String, anonymous android.view.MenuItem.OnMenuItemClickListener)'

任何建议,任何解决方案?

2 个答案:

答案 0 :(得分:0)

您正在使用未定义的构造函数。这意味着您的代码与MenuSheetView类的任何已知构造函数都不匹配。

根据您的第一个错误,ViewLesson.this似乎是指一个片段,它不会扩展Context

答案 1 :(得分:0)

new MenuItem.OnMenuItemClickListener更改为
new MenuSheetView .OnMenuItemClickListener解决了问题