2011-12-07 3 views
0

В моем проекте, когда я нажимаю кнопку подтверждения, данные будут сохраняться на sqlite. Я хочу сделать кнопку отмены, которая работает отменить, а не вставлять данные в базу данных. Как я могу это сделать? Я использую onSaveInstanceState. Пожалуйста, помогите мне. Благодарю.Android отменяет событие при нажатии кнопки отмены

cancelBtn.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      finish(); 
     } 
    }); 

protected void onSaveInstanceState(Bundle outState) 
{ 
    super.onSaveInstanceState(outState); 
    saveState(); 
    outState.putSerializable(FridgeDbAdapter.KEY_ROWID, mRowId); 
} 

@Override 
protected void onPause() 
{ 
    super.onPause(); 
    saveState(); 
} 

@Override 
protected void onResume() 
{ 
    super.onResume(); 
    populateFields(); 
} 

private void saveState() 
{ 
    String name = (String) nameEdit.getText().toString(); 
    String category = (String) categoryEdit.getText().toString(); 
    String expired_date = (String) expired_Date_Btn.getText().toString(); 
    byte[] image = ConvertDrawableToByteArray(mImageView.getDrawable()); 

    if(mRowId == null) 
    { 
     long id = mDbHelper.insertItem(category, name, expired_date, image); 

     if(id>0) 
     { 
      mRowId = id; 
     }   
    } 
    else 
    { 
     mDbHelper.updateItem(mRowId, category, name, expired_date, image); 
    } 
} 

ответ

0

Вы могли бы сделать что-то вроде этого:

 AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Choosing time"); 
     builder.setMessage("Do you want to save the data?"); 
     builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       saveData(); //Function that saves your the data. 
      } 
     }); 
     builder.setNegativeButton("NO", 
       new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       finish();// Finish Activity. 
      } 
     }); 
     builder.create(); 
     builder.show(); 
Смежные вопросы