gpt4 book ai didi

android - 警报对话框生成器 : setView; custom view not showing

转载 作者:太空狗 更新时间:2023-10-29 14:09:50 31 4
gpt4 key购买 nike

我有一个用户在我的应用中录制的视频列表。当用户长按 ListView 中的视频名称时,会弹出一个对话框,为用户提供选项:播放、重命名、删除。 Play 为视频播放器提供了一个选择器来播放视频。正常工作。删除会弹出另一个对话框,用于确认用户要删除视频。也可以正常工作。单击“重命名”时,它应该会显示另一个 AlertDialog,其中包含来自自定义 View 的 EditText,以让用户重命名视频。

这是重命名的 AlertDialog 的自定义 View 集的 XML:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flRename"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/etRename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_rename" />
</FrameLayout>

在 onCreate 中,我设置了自定义 View 和 AlertDialog:

vRename   = getLayoutInflater().inflate(R.layout.rename, null);
etRename = (EditText)vRename.findViewById(R.id.etRename);

adRename = new AlertDialog.Builder(context)
.setIcon(R.drawable.ic_launcher)
.setMessage("Rename video:")
.setPositiveButton("Rename", dioclRename)
.setNegativeButton("Cancel", null)
.setTitle(getString(R.string.app_name))
.setView(vRename)
.create();

当 AlertDialog 出现时,它有图标、标题、消息和按钮,但没有自定义 View 。

最佳答案

来自AlertDialog文档:

If you want to display a more complex view, look up the FrameLayout called "custom" and add your view to it:

FrameLayout fl = (FrameLayout) findViewById(android.R.id.custom);
fl.addView(myView, new LayoutParams(MATCH_PARENT, WRAP_CONTENT));

所以也许可以调用:

FrameLayout fl = (FrameLayout) adRename.findViewById(android.R.id.custom);
fl.addView(vRename, new LayoutParams(MATCH_PARENT, WRAP_CONTENT));

或检查从 create() 切换到 show() 是否有帮助。

关于android - 警报对话框生成器 : setView; custom view not showing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29906349/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com