Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从android应用程序中的自定义对话框中获取主活动的值_Android_Customdialog - Fatal编程技术网

如何从android应用程序中的自定义对话框中获取主活动的值

如何从android应用程序中的自定义对话框中获取主活动的值,android,customdialog,Android,Customdialog,在“我的活动”中,当用户单击文本视图时,将打开一个自定义对话框。我在这里设置了一些车轮选择器。用户在车轮选择器中设置的值在“自定义”对话框中显示为标题。当用户单击“确定”按钮时,对话框关闭,我希望该标题文本显示在我的主要活动的文本视图中 我知道我们可以在活动类中设置初始化变量,并在对话框中设置它的值,没有什么特别的。但是我已经将自定义对话框编写为一个单独的类文件 如下 bd = (TextView)findViewById(R.id.editText1); bd.setOnCli

在“我的活动”中,当用户单击文本视图时,将打开一个自定义对话框。我在这里设置了一些车轮选择器。用户在车轮选择器中设置的值在“自定义”对话框中显示为标题。当用户单击“确定”按钮时,对话框关闭,我希望该标题文本显示在我的主要活动的文本视图中

我知道我们可以在活动类中设置初始化变量,并在对话框中设置它的值,没有什么特别的。但是我已经将自定义对话框编写为一个单独的类文件 如下

bd = (TextView)findViewById(R.id.editText1);
        bd.setOnClickListener(new OnClickListener() 
        {   
            @Override
            public void onClick(View v) 
            {
                CustomizeDialog customizeDialog = new CustomizeDialog(main.this);
                customizeDialog.show();
            }
        });    

如何将值从该类获取到我的主活动类…

在活动中创建一个处理程序,并将其传递给将执行此任务的对话框。像下面这样

Handler mHandler = new Handler()
{
    public void handleMessage(android.os.Message msg)
    {
        super.handleMessage(msg);

        switch (msg.what)
        {
        case 1:
            // Do some stuff
            break;
        }
    }
}
现在传递这个处理程序对象

CustomizeDialog customizeDialog = new CustomizeDialog(main.this, mHandler);
customizeDialog.show();

当您想要设置一些值时,使用这个处理程序对象发送它

我找到了一个更好的方法,在我的主要活动中,我将TextView指定为

CustomizeDialog customizeDialog = new CustomizeDialog(main.this, mHandler);
customizeDialog.show();
public static TextView bd;
在CustomizeDialog类中初始化变量时,如下所示

静态字符串bdDate

当我单击“确定”按钮关闭自定义对话框时,我已编写为

close.setOnClickListener(new View.OnClickListener()
         {  
            @Override
            public void onClick(View v) 
            {
                  if (v == close)
                  bdDate = wheelMenu3[getWheel(R.id.p3).getCurrentItem()];
                  main.bd.setText(bdDate);
                  dismiss();
            }
        });