0

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

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

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

如何从该类中获取价值到我的主要活动类...

4

2 回答 2

1

在您的 Activity 中创建一个处理程序并将其传递给您的对话框来完成这项工作。像下面的东西

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

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

于 2011-07-27T05:06:47.613 回答
0

我找到了一种更好的方法,在我的主要活动中,我将 TextView 分配为

public static TextView bd;

在我的 CustomizeDialog 类中,当我按如下方式初始化变量时

static String 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();
            }
        });
于 2011-07-27T05:36:16.490 回答