首页 文章

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

提问于
浏览
0

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

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

必须有一种简单的方法来完成这项任务吗?我错过了一些应该很明显的东西吗?

//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();

    }

3 回答

  • 0

    你必须 import android.view.View.OnClickListener; 摆脱第一个错误 .

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

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

  • 0

    标记/注释按钮'btn'并尝试添加否定按钮 .

    dialog.setNegativeButton("Quit", new OnClickListener(){
            @Override
            public void onClick(View v){
                finish();
            }
    
        });
    

    希望能帮助你 .

  • 1

    看看这个链接 . 我想它拥有你需要的所有解决方案

    http://developer.android.com/guide/topics/ui/dialogs.html

相关问题