Java 在Android中将片段显示为底片

Java 在Android中将片段显示为底片,java,android,Java,Android,在android的最新版本中,引入了底部表单的新功能,允许将弹出窗口显示为底部表单。比如说, BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this); View sheetView = getLayoutInflater().inflate(R.layout.any, null); bottomSheetDialog.setContentView(sheetView); b

在android的最新版本中,引入了底部表单的新功能,允许将弹出窗口显示为底部表单。比如说,

BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this);
        View sheetView = getLayoutInflater().inflate(R.layout.any, null);
        bottomSheetDialog.setContentView(sheetView);
        bottomSheetDialog.show();
您可以将弹出窗口显示为底部图纸视图

我的问题是,我必须为我的应用程序功能编写大量代码,比如100-200行代码,但将这些代码保存在同一个活动或片段中会使我的代码难看且难以管理。是否有一种方法可以将此代码提取到某个片段或其他活动中,以便所有与底部工作表对话框相关的代码都保留在它自己的类中

我不是在寻找任何java黑客。相反,android这样做是意料之中的


如何打开和关闭底部板材视图?

考虑改用Zafer Celaloglu所说的方法

kotlin
class MyDialogFragment : BottomSheetDialogFragment() {

    companion object {
        const val TAG = "FilterDialogFragment"

        fun newInstance() = FilterDialogFragment()
    }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(R.layout.fragment_dialog_my_layout, container, false)
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
    }
}

java
public class MyDialogFragment extends BottomSheetDialogFragment {

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_dialog_my_layout, container, false)
    }

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
    }
}
然后召集这样的活动

kotlin
MyDialogFragment.newInstance().show(supportFragmentManager,MyDialogFragment.TAG)

java
MyDialogFragment myDialogFragment = new MyDialogFragment();
myDialogFragment.show(getSupportFragmentManager(), "MyDialogFragment");

使用
对话框片段如何?为什么人们会无缘无故地使用-1?问题是否不够清楚,或者问题陈述是否无效?缺乏研究?我必须说,要搜索
BottomSheetDialog
Fragment
而不遇到
BottomSheetDialogFragment
,几乎是不可能的。好吧!我可以删除这个问题,但那样的话,相信我,除了代码问题,你不应该有其他问题,因为你总能在谷歌或文档中找到一些东西。我可以向你展示10000个基本问题的例子,但人们在这些问题上分享了很好的信息。不管怎样,当我把bottomsheetdialogfragment@Vinay放在上面时,我找到了一个很好的媒体链接。如果你发现这个答案正确,请批准:)这不是答案,兄弟。一个链接可能会回答这个问题,但可以进入评论。你能分享关于如何使底部工作表片段工作并关闭其生命周期工作方式的代码吗?链接指的是android官方文档,所以在不久的将来不可能无效:)但它没有一个工作示例。在我接受这个答案之前,我将进行更多的探索,但是是+1。