gpt4 book ai didi

android - 从 CustomView 中打开 DialogFragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:00 25 4
gpt4 key购买 nike

我正在处理我的一个 Android 项目,试图减少我的 Activity 中的代码。在其中之一中,我有 CustomView(它只是扩展了 LinearLayout),它在单击时打开一个 DialogFrament。现在,我实现它的方法是覆盖 Activity 中的 onTouch(),然后从那里打开 DialogFrament。它看起来像这样:

@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
if (v.getId() == mCustomView.Id()) {
mDialogFragment.show(mFragmentManager, "");

我想将打开 DialogFragment 的过程从 Activity 中移到 CustomView 本身,但是,我遇到的问题是我无法获得 FragmentManager 的实例(通过使用 getSupportFragmentManager( )) 在自定义 View 中。我的计划是可行的,还是应该坚持我正在使用的代码?我这样做是为了让我的代码看起来更清晰、更易于理解。

最佳答案

在您的自定义 View 中,您可以调用 getContext()(这将是您的 Activity ),然后您可以将其转换为 android.support.v4.app.FragmentActivity并从那里调用 getSupportFragmentManager()

所以应该这样做。

android.support.v4.app.FragmentActivity fragmentActivity = (android.support.v4.app.FragmentActivity) getContext();
FragmentManager fm = fragmentActivity.getSupportFragmentManager();

关于android - 从 CustomView 中打开 DialogFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18061993/

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