Java 在应用程序中实现底板
我正在尝试在我的应用程序中实现BottomSheet。我正在学习安卓。我已经按照图书馆页面中给出的说明实施了它。我使用了如下的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(
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