Android - 删除对话框主题活动

时间:2012-05-11 21:49:42

标签: android

Android 2.1通过eclipse

我有一个活动,通过复选框onChecked功能

打开一个对话主题活动

我用Intent创建这个新的对话主题活动。

问题是,一旦我完成它,我如何解除对话主题活动? (现在它的方式,我必须发送一个新的意图,以便通过点击按钮返回到上一个活动)

任何帮助都会受到很大的帮助!

代码段:

主要活动:

cbReminder.setOnCheckedChangeListener(new OnCheckedChangeListener() {

    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked)
        {                   
            Intent intent = new Intent(getApplicationContext(), DateTimeDialog.class);
            startActivity(intent);
        }
    }
});

对话主题活动:

public void onClick(View v) {
    if (v.getId() == R.id.b_datetime_save)
    {

    }
    else if (v.getId() == R.id.b_datetime_cancel)
    {
        finish();
        Intent intent = new Intent(getApplicationContext(), MakeNoteActivity.class);
        startActivity(intent);
    }
}

1 个答案:

答案 0 :(得分:1)

正如您所指定的那样,确实不需要返回上一个活动,并且应该删除它。

要从对话框返回后取消选中该复选框,您可以使用startActivityForResult并在返回时设置回调。

打开你的对话框:

Intent intent = new Intent( getApplicationContext(), DateTimeDialog.class );
startActivityForResult( intent, UNIQUE_IDENTIFIER );

然后为同一活动添加回调:

@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data )
{
    if ( requestCode == UNIQUE_IDENTIFIER )
    {
        cbReminder.setChecked( false );
    }
}

UNIQUE_IDENTIFIER可以是唯一标识此对话框的任何数字。如果您还有其他问题,请与我们联系。