在我的活动中,当用户单击文本视图时,会打开自定义对话框。在这里,我设置了一些轮式拣选机。用户在车轮选择器中设置的值已在自定义对话框中显示为标题。当用户单击“确定”按钮时,对话框将关闭,我希望该标题文本显示在主活动的文本视图中。
我知道我们可以在activity类中设置初始化变量并在对话框中设置它的值,没什么特别的。但我已将自定义对话框编写为单独的类文件 如下
bd = (TextView)findViewById(R.id.editText1);
bd.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
CustomizeDialog customizeDialog = new CustomizeDialog(main.this);
customizeDialog.show();
}
});
如何从该类获取值到我的主要活动类...
答案 0 :(得分: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();
如果要设置某个值,请使用此处理程序对象
发送它答案 1 :(得分: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();
}
});