gpt4 book ai didi

java - 在应用程序中实现 BottomSheet

转载 作者:行者123 更新时间:2023-11-30 01:14:17 24 4
gpt4 key购买 nike

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

我也在菜单文件夹中创建了名为 grid_sheet 的菜单 xml。我怎样才能使该菜单正常工作?

最佳答案

错误与 setListener(QuoteViewActivity.this) 有关。 SetListener() 需要 BottomSheetListener 而不是 Activity 上下文。尝试 setListener(new BottomSheetListener()) 并覆盖下面给出的接口(interface)方法。

    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();

关于java - 在应用程序中实现 BottomSheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38099846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com