Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在alertDialog内显示Recyclerview_Java_Android - Fatal编程技术网

Java 在alertDialog内显示Recyclerview

Java 在alertDialog内显示Recyclerview,java,android,Java,Android,我想在AlertDialog中显示我的Recyclerview,就像代码一样,我很确定我已经在视频中看到了,但是当我打开AlertDialog时,它总是强制关闭。你们能帮帮我吗?我是新用户使用android studio使用自定义布局对话框将自定义布局添加到对话框中。尝试使用下面给定的代码。 希望这将是一个有用的答案 imgTest.setOnClickListener(new View.OnClickListener() { @O

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

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

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();
                                }
                            });
  • 在style.xml中定义对话框样式

    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();
    
    
    真的
    @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();
                                }
                            });
  • 在style.xml中定义对话框样式

    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();
    
    
    真的
    @android:彩色/透明
    @空的
    真的
    

对话框上下文必须是活动

<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>   

对话框上下文必须是活动

<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>