android - 如何将数据从 Activity 发送到 AlertDialog 以显示它们

标签 android dialog android-alertdialog

创建构建器的代码:

    builder = new AlertDialog.Builder(this);
    builder.setPositiveButton("connect",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int     id) {
                    devices.get(currentPos).setConnected(true);
                }
            });
    builder.setNegativeButton("dismiss",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // User cancelled the dialog
                }
            });
    builder.setView(getLayoutInflater().inflate(
            (R.layout.activity_device_details), null));
    builder.setTitle("more information");

请注意:builder.setView() 到 R.layout.activity_device_details,当我使用以下代码创建对话框时,其中有一些我想填充的 TextView:

    BPDevice dev = new BPDevice();
    dev = devices.get(position);

    AlertDialog dialog = builder.create();

    ((TextView) dialog.findViewById(R.id.name)).setText(dev.getName());

    dialog.show();

由于这一行,我得到一个 nullpointerException:((TextView) dialog.findViewById(R.id.name)).setText(dev.getName());

¿如何正确填充 TextView?

最佳答案

首先扩充具有 TextView 的根布局。然后你的 child 的意见。然后设置数据并设置根作为警报对话框的 View 。

View root = getLayoutInflater().inflate(
        (R.layout.activity_device_details),null);
 
TextView textView =(TextView)root.findViewById(R.id.your_textview_layout_name);
textView.setText("Your data");
builder.setView(root);

关于android - 如何将数据从 Activity 发送到 AlertDialog 以显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19244714/

相关文章:

c# - WPF/C# - 对话框窗口不响应触摸

java - Android 项目上 AlertDialog 内带有 TextView 的 IllegalStateException

android - 如何将对话框窗口包装到内容中?

android - Gradle 同步失败,android studio 无法为锁定文件创建父目录

Android如何在android中检测Edittext的Copy事件

android - 将 Twitter4j 状态转换为 JSON 对象

android - 使用先前选择的值开始数字选择器

android - 如果对已经创建的 Activity 调用 startActivity() 会发生什么?

android - Google登录对话框关闭android studio后屏幕闪烁

java - Android Java Google Maps,需要在执行对话框之前检查 map 是否已完全加载