この例のベストプラクティスは何ですか?
Activity1は SQLite で INSERTS を実行し、Activity2 を開始します。
Activity2で、ユーザーは [戻る] ボタンをクリックして、Activity1 に戻ります。しかし、INSERT の代わりに、SQLite 上のデータに UPDATE を実行したいと考えています。
そのユーザーが「戻ってきた」のを制御するにはどうすればよいですか?
ベストプラクティスは何ですか?
この例のベストプラクティスは何ですか?
Activity1は SQLite で INSERTS を実行し、Activity2 を開始します。
Activity2で、ユーザーは [戻る] ボタンをクリックして、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;
}
}
2 番目のアクティビティで
戻るボタンを制御するには、以下のコードを使用します
@Override
public void onBackPressed()
{
//Code for update
}
編集
startActivityForResult()
結果を知らせるメソッドを使用して 2 番目のアクティビティを呼び出します。
最初のアクティビティで
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
}
}
2 番目のアクティビティで
このメソッドの呼び出しは適切でしたsetResult(YOURCONSTANTNUMBER);
それが役に立てば幸い
Activity1 で両方の DB 操作を行いたいと仮定すると、ここで startActivityForResult() を検討してください。