您能否澄清一下,此示例的最佳做法是什么:
Activity1在 SQLite 上执行 INSERTS 并启动 Activity2。
在 Activity2上,用户单击 Back 按钮并返回到 Activity1。但是我不想进行 INSERT,而是想对 SQLite 上的数据进行 UPDATE。
我如何控制该用户“回来”?
最佳做法是什么?
您能否澄清一下,此示例的最佳做法是什么:
Activity1在 SQLite 上执行 INSERTS 并启动 Activity2。
在 Activity2上,用户单击 Back 按钮并返回到 Activity1。但是我不想进行 INSERT,而是想对 SQLite 上的数据进行 UPDATE。
我如何控制该用户“回来”?
最佳做法是什么?
假设在按钮上单击您开始活动 2
public static final int YOURCONSTANTNUMBER = 77;
//Button Value
Button second = (Button)findViewById(R.id.firstButton);
second.setOnClickListner(this);
@Override
public void onClick(View v)
{
switch(v.getId())
{
case R.id.btnSecondActivity:
//Code for inserting data into database
Intent secondactivity = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(secondactivity);
break;
}
}
在你的第二个活动中
要控制后退按钮,请使用以下代码
@Override
public void onBackPressed()
{
//Code for update
}
编辑
startActivityForResult()
使用可以让您知道结果的方法调用您的第二个活动。
在第一个活动中
Intent secondactivity = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(secondactivity,YOURCONSTANTNUMBER);
得到结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode)
{
case YOURCONSTANTNUMBER:
// It will execute if you returning from second activity
//Update you database here
}
}
在你的第二个活动中
调用这个方法是合适的setResult(YOURCONSTANTNUMBER);
希望能帮助到你
假设您想在 Activity1 中执行这两个数据库操作,请在此处考虑 startActivityForResult():