Java 在应用程序中实现底板

Java 在应用程序中实现底板,java,android,onclicklistener,bottom-sheet,Java,Android,Onclicklistener,Bottom Sheet,我正在尝试在我的应用程序中实现BottomSheet。我正在学习安卓。我已经按照图书馆页面中给出的说明实施了它。我使用了如下的java代码 findViewById(R.id.butShare).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new BottomSheet.Builder(

我正在尝试在我的应用程序中实现BottomSheet。我正在学习安卓。我已经按照图书馆页面中给出的说明实施了它。我使用了如下的java代码

findViewById(R.id.butShare).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new BottomSheet.Builder(QuoteViewActivity.this)
                .setSheet(R.menu.grid_sheet)
                .grid()
                .setTitle("Lets Some Fun")
                .setListener(QuoteViewActivity.this)
                .show();
            }
        });
但我得到的错误就像

The method setListener(BottomSheetListener) in the type BottomSheet.Builder is not applicable for the arguments (QuoteViewActivity)

我也在菜单文件夹中创建了名为网格表的菜单xml。如何使该菜单正常工作?

new BottomSheet.Builder(quoteevactivity.this)
中传递保存在
onCreate
方法或保存在
onatach(context mContext)
方法中的活动上下文

希望这有帮助。

问题就在这里

 .setListener(QuoteViewActivity.this)
你已经这样做了

.setListener(this)

setListener(QuoteViewActivity.this)出现错误。SetListener()需要的是BottomSheetListener,而不是活动上下文。请尝试setListener(new BottomSheetListener())&覆盖下面给出的接口方法

    new BottomSheet.Builder(MainActivity.this)
                    .setSheet(R.menu.menu)
                    .grid()
                    .setTitle("Lets Some Fun")
                    .setListener(new BottomSheetListener() {
                        @Override
                        public void onSheetShown(@NonNull BottomSheet bottomSheet) {

                        }

                        @Override
                        public void onSheetItemSelected(@NonNull BottomSheet bottomSheet, MenuItem menuItem) {
                                if(menuItem.getItemId() == R.id.share) {
                                Toast.makeText(MainActivity.this, "Share" , Toast.LENGTH_LONG).show();
                            }
                        }

                        @Override
                        public void onSheetDismissed(@NonNull BottomSheet bottomSheet, int i) {

                        }
                    })
                    .show();

哪个是图书馆?嗨@sJy我添加了有问题的链接。谢谢@Ironman,我得到了相同的错误,比如“类型BottomSheet.Builder中的方法setListener(BottomSheetListener)不适用于参数(new View.OnClickListener(){})”Hi@Ironman,它的代码很长,所以我把它上传到这里。请查收谢谢@呃。Kaushik Kajavadara,你能再解释一下吗?谢谢@sJy,它解决了我的.setListener问题。我已经在菜单文件夹中的grid_sheet.xml中创建了菜单。如果我的菜单是facebook,我如何使其可点击?谢谢,这是另一个问题。菜单中的项目已可单击。您可以在onSheetItemSelected()中捕捉底部板材的菜单项click。您好!很抱歉,这是另一个问题,但如果我有一个名为“facebook”的菜单,并想打开它,点击“我是facebook”,我该怎么办?我感到困惑,再次为逐条提问感到抱歉。请检查我问题的最后一行,请帮助解决它。@RajubhaiRathod使用菜单项“单击代码”更新。用grid_sheet.xml中给出的值替换R.id.share