android - 如何从函数显示自定义对话框?

标签 android dialog

在我的应用程序中,我有三个调用函数的菜单选项。这三个函数之一调用了一个函数,该函数应该从文件中读取一些信息,然后将其显示在对话框中。我的问题是让对话框工作。我正在使用 http://www.helloandroid.com/tutorials/how-display-custom-dialog-your-android-application 作为引用,但他们使用的方法对我不起作用。

星号线之间的部分是我遇到错误的地方。 View 类型中的方法 setOnClickListener(View.OnClickListener) 不适用于参数 (new DialogInterface.OnClickListener(){})"它继续列出建议的替代方案,它们给出相同的错误,但将 setOnClickListener 列为建议的替代方案。覆盖后出现另一个错误:“新 DialogInterface.OnClickListener(){} 类型的方法 onClick(View) 必须覆盖父类(super class)方法”

必须有一种简单的方法来完成这项任务吗?我是否遗漏了一些显而易见的东西?

//now stick it in a dialog box
        Context mContext = getApplicationContext();
        Dialog dialog = new Dialog(mContext);
        dialog.setContentView(R.layout.custom_dialog);
        dialog.setTitle("Totals");
        dialog.setCancelable(true);
        TextView text1 = (TextView) dialog.findViewById(R.id.diagtext1);
        TextView text2 = (TextView) dialog.findViewById(R.id.diagtext2);
        TextView text3 = (TextView) dialog.findViewById(R.id.diagtext3);
        Button btn = (Button) dialog.findViewById(R.id.button);
        text1.setText(dist);
        text2.setText(time);
        text3.setText(speed);
        //******************************************************
        btn.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v){
                finish();
            }

        });
        //******************************************************
        dialog.show();

    }

最佳答案

您必须import android.view.View.OnClickListener; 才能消除第一个错误。

删除onClick() 方法之前的@OverrideView.OnClickListeneronClick() 声明为 abstract void,因此没有要覆盖的实现。

如果只有一个 Activity 在运行,onClick() 方法中的 finish() 调用将关闭您的 Activity/应用程序。您可能想改用 dialog.dismiss()dialog.cancel()

关于android - 如何从函数显示自定义对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333411/

相关文章:

java - Unity异常: Unable to find suitable JDK installation

android - 如何将对话框定位到底部

android - 如何在对话框中显示编辑文本、 ListView 和正负按钮?

Android 库似乎不包含它的依赖项(迫使我在应用程序模块中添加这些依赖项)

java - viewpager fragment 返回空值

java - 从 Android 上的 asynctask 检查互联网状态

vba - 更改 vba 对话框中是/否按钮的语言

css - 是否可以为 HTML5 对话框背景添加模糊效果?

c# - 在 C# 中手动复制文件时显示复制文件对话框/表单?

java - 在 android while 循环中使用 URL get 发送数据