2012-10-30 10 views
1

能否請你澄清我,什麼是這個例子的最佳實踐:如何訪問Android中的後退按鈕?

活性1確實在SQLite的插入和啓動活性2。

在活動2上,用戶單擊後退按鈕並返回活動1。 但我不想做INSERT,我想對SQLite上的數據進行更新。

如何控制,該用戶「回來」?

最佳實踐是什麼?

回答

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);

希望它可以幫助

+0

我怎麼知道的活性1,則該用戶來自活性2?要知道我應該插入還是更新? –

+0

檢查我的更新答案 – GoCrazy