gpt4 book ai didi

android - 从 Fragment(不是 FragmentActivity)调用 DialogFragment?

转载 作者:IT老高 更新时间:2023-10-28 23:40:51 26 4
gpt4 key购买 nike

我确实有一个 FragmentActivity,其中包含一个 Fragment 列表(带有在它们之间导航的方法)。在其中一个 fragment 中,我需要调用 DialogFragment 以在该 fragment 中包含的图片上显示“缩放”。

但是好像不能直接从Fragment调用DialogFragment。

有什么方法可以对 FragmentActivity 进行某种“回调”以使其在 fragment 上显示 DialogFragment。

或者只是直接从 Fragment 调用它的“小故障”。

如果是这样,我有什么选择?

最佳答案

当您创建一个新的 Dialog 时,您可以简单地使用 Fragment 中的这个(非常)简单的方法来调用它。

DialogFragment dialog = DialogFragment.instantiate(getActivity(), "Hello world");
dialog.show(getFragmentManager(), "dialog");

如果您想使用自己的对话框,请使用那种代码。

public class MyDialogFragment extends DialogFragment
{
//private View pic;

public MyDialogFragment()
{
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
View view = getActivity().getLayoutInflater().inflate(R.layout.fragment_my_dialog, new LinearLayout(getActivity()), false);

// Retrieve layout elements
TextView title = (TextView) view.findViewById(R.id.text_title);

// Set values
title.setText("Not perfect yet");

// Build dialog
Dialog builder = new Dialog(getActivity());
builder.requestWindowFeature(Window.FEATURE_NO_TITLE);
builder.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
builder.setContentView(view);
return builder;
}
}

关于android - 从 Fragment(不是 FragmentActivity)调用 DialogFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25887373/

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