Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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
Android AlertDialog RecyclerView隐藏确定/取消按钮_Android_Android Layout_Android Alertdialog - Fatal编程技术网

Android AlertDialog RecyclerView隐藏确定/取消按钮

Android AlertDialog RecyclerView隐藏确定/取消按钮,android,android-layout,android-alertdialog,Android,Android Layout,Android Alertdialog,我想使用自定义视图在“警报”对话框中显示项目列表。如果有几个项目,则会显示“确定”按钮,添加更多项目会使对话框窗口变大,直到只有列表可见为止。 这是我在对话框中设置的自定义视图,它只有列表 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.

我想使用自定义视图在“警报”对话框中显示项目列表。如果有几个项目,则会显示“确定”按钮,添加更多项目会使对话框窗口变大,直到只有列表可见为止。 这是我在对话框中设置的自定义视图,它只有列表

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:orientation="vertical">

<android.support.v7.widget.RecyclerView
    android:id="@+id/recyclerview"
    android:scrollbars="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="8dp"
    android:clipToPadding="true"/>
</LinearLayout>

这是C代码(我认为用java/kotlin很容易阅读)

AlertDialog.Builder=新建AlertDialog.Builder(此.Activity)
.SetPositiveButton(“OK”,(obj,ev)=>{};
视图对话框视图=(视图)this.LayoutInflater.Inflate(Resource.Layout.dialog,null);
builder.SetView(dialogView);
RecyclerView rv=dialogView.FindViewById(Resource.Id.RecyclerView);
var mLayoutManager=新的GridLayoutManager(this.Activity,4);
rv.SetLayoutManager(mLayoutManager);
MyAdapter=新的MyAdapter();
rv.设置适配器(适配器);
var items=新列表();
对于(int i=0;i<100;i++)
items.Add(i.ToString());
adapter.SetItems(项目);
AlertDialog=builder.Create();
dialog.Show();
如何使Recyclerview不覆盖OK按钮?
谢谢

不要使用“设置积极按钮”(“确定”),而是在自定义布局中使用“确定”按钮并使用其单击侦听器。它会让你完全控制你的用户界面。@D_Alpha谢谢,我在RecyclerView之后添加了一个按钮,但当我添加更多项目时,它不会显示出来
        AlertDialog.Builder builder = new AlertDialog.Builder(this.Activity)
        .SetPositiveButton("OK", (obj, ev) => { });
        View dialogView = (View)this.LayoutInflater.Inflate(Resource.Layout.dialog, null);
        builder.SetView(dialogView);
        RecyclerView rv = dialogView.FindViewById<RecyclerView>(Resource.Id.recyclerview);
        var mLayoutManager = new GridLayoutManager(this.Activity, 4);
        rv.SetLayoutManager(mLayoutManager);
        MyAdapter adapter = new MyAdapter ();
        rv.SetAdapter(adapter);
        var items = new List<string>();
        for(int i = 0; i < 100; i++)
            items.Add(i.ToString());
        adapter.SetItems(items);
        AlertDialog dialog = builder.Create();
        dialog.Show();