java - 在 alertDialog 中显示 Recyclerview

标签 java android

imgTest.setOnClickListener(new View.OnClickListener() {
                                @Override
                                public void onClick(View v) {
                                    final AlertDialog.Builder mBuilder  =   new AlertDialog.Builder(getApplicationContext());
                                    mBuilder.setTitle("Location Available!");
                                    LayoutInflater inflater =   getLayoutInflater();
                                    View convertView        =   inflater.inflate(R.layout.reclycer_data, null);

                                    RecyclerView list       =   convertView.findViewById(R.id.recView);
                                    list.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
                                    list.setAdapter(adapter);
                                    AlertDialog dialog      =   mBuilder.create();
                                    dialog.show();
                                }
                            });

我想像代码一样在 AlertDialog 中显示我的 Recyclerview,我很确定我已经关注了视频但是当我打开我的 alertDialog 时它总是强制关闭。你们能帮帮我吗?我是 android studio 新手

最佳答案

使用自定义布局对话框将自定义布局添加到对话框。尝试使用下面给出的代码。 希望这将是一个有用的答案。

final Dialog dialog = new Dialog(getApplicationContext(), R.style.FullHeightDialog);

    dialog.setContentView(R.layout.reclycer_data);
    dialog.setCancelable(false);

    if (dialog.getWindow() != null){
        dialog.getWindow().setLayout(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    }

    RecyclerView list = dialog.findViewById(R.id.recView);
    list.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
    list.setAdapter(adapter);

dialog.show();
  • 在 style.xml 中定义对话框样式

    <style name="FullHeightDialog" parent="Base.Theme.AppCompat.Light.Dialog">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowFrame">@null</item>
        <item name="android:windowFullscreen">true</item>
    </style>   
    

关于java - 在 alertDialog 中显示 Recyclerview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55643947/

相关文章:

java - 使用 Struts 显示带有外语字母的日期

java - com.google.api.client.auth.oauth2.TokenResponseException : 400 Bad Request (Eclipse)

java - JPA merge() 仅更新部分字段。其他变化不被认可

android - 修改麦克风录制的音频

java - 如何在docker上安装java到ubuntu?

java - 存储数据 XML、数据库和...的解决方案?

android - 在 Android 设备上生成客户端证书

android - 在android中以编程方式删除铃声

android - 如何制作一个像真正的 watch 一样显示当前时间的应用程序图标

Android自定义标题栏