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);
}
}
答案 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
可以是唯一标识此对话框的任何数字。如果您还有其他问题,请与我们联系。