能否請你澄清我,什麼是這個例子的最佳實踐:如何訪問Android中的後退按鈕?
活性1確實在SQLite的插入和啓動活性2。
在活動2上,用戶單擊後退按鈕並返回活動1。 但我不想做INSERT,我想對SQLite上的數據進行更新。
如何控制,該用戶「回來」?
最佳實踐是什麼?
能否請你澄清我,什麼是這個例子的最佳實踐:如何訪問Android中的後退按鈕?
活性1確實在SQLite的插入和啓動活性2。
在活動2上,用戶單擊後退按鈕並返回活動1。 但我不想做INSERT,我想對SQLite上的數據進行更新。
如何控制,該用戶「回來」?
最佳實踐是什麼?
假設按鈕單擊開始活動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);
希望它可以幫助
假設你想要做的活動1兩DB操作,請考慮startActivityForResult()的位置:
我怎麼知道的活性1,則該用戶來自活性2?要知道我應該插入還是更新? –
檢查我的更新答案 – GoCrazy