1

您能否澄清一下,此示例的最佳做法是什么:

Activity1在 SQLite 上执行 INSERTS 并启动 Activity2。

在 Activity2上,用户单击 Back 按钮并返回到 Activity1。但是我不想进行 INSERT,而是想对 SQLite 上的数据进行 UPDATE。

我如何控制该用户“回来”?

最佳做法是什么?

4

2 回答 2

1

假设在按钮上单击您开始活动 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);

希望能帮助到你

于 2012-10-30T16:15:55.323 回答
0

假设您想在 Activity1 中执行这两个数据库操作,请在此处考虑 startActivityForResult():

http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int)

于 2012-10-30T16:17:34.990 回答