android – 将数据从活动传递到对话框

我正在寻找一种将数据从活动传递到对话框的方法.我试图调用showDialog(int);但是我没有看到将任何数据传递给对话框的方法.
我需要将一个字符串传递给对话框才能显示确认:)

干杯

解决方法

如果您正在使用 Android 2.2(API 8级或更高版本)
public final boolean showDialog (int id,Bundle args)

并在Bundle中传递你的观点.见documentation.

如果您想支持较旧的Android版本,您应该将参数保存在Activity类成员中,然后从onPrepareDialog功能中访问它们.请注意,onCreateDialog将不适合您的需求,因为它仅用于创建对话框.

class MyActivity {

    private static int MY_DLG = 1;
    private String m_dlgMsg;

    private showMyDialog(String msg){
        m_dlgMsg = msg;
        showDialog(MY_DLG);
    }

    private doSomething() {
        ...
        showMyDlg("some text");
    }

    protected void onCreateDialog(int id){
        if(id == MY_DLG){
            AlertDialog.Builder builder = new AlertDialog.Builder(this); 
            ....
            return builder.create();
         }
         return super.onCreateDialog(id);
    }        

    @Override
    protected void onPrepareDialog (int id,Dialog dialog){ 
         if(id == MY_DLG){ 
            AlertDialog adlg = (AlertDialog)dialog;
            adlg.setMessage(m_dlgMsg);
         } else {
            super.onPrepareDialog(id,dialog);
         }             
    }
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...