在片段上单击按钮显示对话框

问题描述 投票:0回答:1

我有一个包含三个片段的活动。在第一个片段(HomeFragment)中,我想在单击按钮时显示一个自定义对话框。我尝试了许多教程,但没有一部可以。我创建了扩展DialogFragment的此类:

public class ShowNabzaDialog extends DialogFragment {

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.content_nabza, container, false);

    getDialog().setTitle("");

    ImageButton closeNabzaButton = rootView.findViewById(R.id.close_nabzsa_btn);
    closeNabzaButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dismiss();
        }
    });

    return rootView;
}

}

然后在Home Fragment中,我创建了一个调用片段管理器的按钮:

openNabzaButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FragmentManager fm = getFragmentManager();
            ShowNabzaDialog showNabzaDialog = new ShowNabzaDialog();
            showNabzaDialog.show(fm, "hi");
        }
    });

这不起作用。当我单击按钮时,应用程序崩溃。我提到了DialogFragment的文档,但是不清楚。任何帮助表示赞赏。

java android dialog android-dialogfragment dialogfragment
1个回答
0
投票

首先为警报创建XML布局然后在您的点击监听器中使用此代码

© www.soinside.com 2019 - 2024. All rights reserved.