当前位置: 首页 > 知识库问答 >
问题:

创建弹出窗口

陈泰宁
2023-03-14
public class PrizeList extends AppCompatDialogFragment {

    TextView players, prizePoolList, perKill, rank1, rank2, rank3;
    SeekBar seekBar;

    @NonNull
    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        LayoutInflater inflater = getActivity().getLayoutInflater();
        View view = inflater.inflate(R.layout.prize_list_layout, null);
        builder.setView(view).setTitle("Prize List")
                .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });

        players = view.findViewById(R.id.players);
        prizePoolList = view.findViewById(R.id.prizePoolList);
        perKill = view.findViewById(R.id.perKill);
        rank1 = view.findViewById(R.id.rank1);
        rank2 = view.findViewById(R.id.rank2);
        rank3 = view.findViewById(R.id.rank3);
        seekBar = view.findViewById(R.id.seekBar);

        return builder.create();
    }
}
holder.prizeList.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openDialog();
                Toast.makeText(v.getContext(), "prize list clicked", Toast.LENGTH_SHORT).show();
            }
        });


    }

    private void openDialog() {
        PrizeList prizeList = new PrizeList();
        prizeList.show(prizeList.requireActivity().getSupportFragmentManager(), "Prize");
    }

E/AndroidRuntime:致命异常:main process:com.luteraa.luteraaesports,pid:6355 java.lang.nullpointerException:试图在com.luteraa.luteraaesports.bgmicategoryAdapter.OpenDialog(bgmicategoryAdapter.java.access$000(bgmicategoryAdapter.java:25)的com.luteraaa.luteraaesports.bgmicategoryAdapter.bgmicateAdapter.bgmicateAdapter.access eGoryAdapter$1.onclick(bgmicateGoryAdapter.java:76)在Android.view.view.performClick(View.java:7191)在com.google.android.material.button.materialbutton.performClick(view.java:1119)在Android.view.view.performClick(materalbutton.java:1119)在Android.view.view.view.performClick(vieralbutton.java:1119)在er.java:100)在Android.os.looper.loop(循环)r.java:224)在Android.app.activitythread.main(activitythread.java:7551)在java.lang.reflect.Method.invoke(本机方法)在com.android.internal.os.runtimeinit$methodandargscaller.run(runtimeinit.java:539)在com.android.internal.os.zygoteinit.main(zygoteinit.java:995)

共有1个答案

章烨烨
2023-03-14
  DataAdapter adapter = new DataAdapter(MainActivity.this,tasks,getSupportFragmentManager());

您可以在适配器调用中传递参数getSupportFragmentManager,并在getSupportFragmentManager中获取构造函数,如下所示

    DataAdapter(Context context, List<Task> tasklist, 
   FragmentManager 
   supportFragmentManager) {
    this.context = context;
    this.taskList = tasklist;
    this.supportFragmentManager=supportFragmentManager;
}

在prizeList show方法中传递对象supportFragmentManager之后

PrizeList prizeList = new PrizeList();
        prizeList.show(supportFragmentManager, "Prize List");

我也在我的项目中工作,所以这有助于解决您在supportFragmentManager中的错误

 类似资料:
  • 我想在JavaFX应用程序中创建一个弹出窗口。给我一些想法。 当我点击检查按钮时,它会打开弹出窗口。怎么做?

  • 我正在使用Windows 7和10。我想知道如何在Perl6中创建一个弹出窗口来向用户提供信息?类似Linux的发送通知或Windows Pro msg(没有网络) 非常感谢,-T

  • 问题内容: 我有一个主Frame(称为)和一个弹出式Toplevel(称为)。如何确保用户在“处于活动状态”时无法单击任何内容? 问题答案: 如果您不想隐藏根目录,而只是确保用户只能与弹出窗口进行交互,则可以使用和。 或者 ,您可以使它不可见的根源: 将保留根,但仅可见。 如果您需要它,可以做

  • 继承自 NativeObject 所有弹出式UI元素(pop-ups)的基类。弹出式UI元素比所有其他UI的层级都高,但不属于控件。某些弹出式UI只能弹出一次。 通过 “const {Popup} = require('tabris');” 引入该类 方法 close() 返回值: this 隐藏弹出窗。 open() 返回值: this 显示弹出窗。

  • 问题内容: 我想使用Firefox浏览器,使用RSelenium从网站下载文件。我正确地完成了所有操作(导航,选择正确的元素并写下我想要的内容);现在,我单击“下载”按钮,然后打开一个Firefox弹出窗口,并询问我是否要下载文件或“用…打开”。 不幸的是,由于隐私限制,我无法编写示例。 我的问题是:如何在需要时切换到弹出窗口/警报并单击“确定”? 我尝试了以下方法,但均未成功: 我也试过了 但是

  • Popup 是一种可以包含任何Html内容的弹出窗口,从App的主内容区域上弹出。 Popup 和其他所有的遮罩图层一样,是所谓的“临时视图”的一部分。 Popup 布局 Popup 布局相当简单. 你所需要做的就是将放到 body 里正确的位置上: <div class="modal modal-no-buttons"> ... <div class="popup"> An