My DataBaseHandler Class

Code:
public class DatabaseHandler extends SQLiteOpenHelper {

    private static final String LOG_TAG = "debugger";

    //database version
    private static final int DATABASE_VERSION = 1;
    //database name;
    private static final String DATABASE_NAME = "appdb";

    private static final String TABLE_PROJECT = "projects";     
    //Project Table Columns
    private static String PROJECT_ID = "Project_id";
    private static final String PROJECT_NAME = "Name";
    private static final String PROJECT_DESCRIPTION = "Description";
    private static final String CLIENT_NAME = "Client_Name";
    private static final String LOCATION = "Location";

    public DatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);

    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.d(LOG_TAG, "Executing OnCreate");   
        createProjectTable(db);     
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {      

    }

    private void createProjectTable(SQLiteDatabase db){
        String CREATE_PROJECT_TABLE = "CREATE TABLE " + TABLE_PROJECT + "("
        + PROJECT_ID + " INTEGER PRIMARY KEY, "
        + PROJECT_NAME + " TEXT, "
        + PROJECT_DESCRIPTION + " TEXT, "
        + CLIENT_NAME + " TEXT, "
        + LOCATION + " TEXT );";
        Log.d(LOG_TAG, "Creating Project table --> " + CREATE_PROJECT_TABLE);
        db.execSQL(CREATE_PROJECT_TABLE);
    }   

    public void addProject(Project project){
         SQLiteDatabase db = this.getWritableDatabase();
         ContentValues values = new ContentValues();
         values.put(PROJECT_NAME, project.getName()); // Contact Name
         values.put(PROJECT_DESCRIPTION, project.getDescription()); // Contact Phone
         values.put(CLIENT_NAME, project.getClient_name());
         values.put(LOCATION, project.getLocation());
         // Inserting Row
         Log.d(LOG_TAG, "Inserting Project....");
         db.insert(TABLE_PROJECT, null, values);
         Log.d(LOG_TAG, "Inserted successfullyt....");
         db.close(); // Closing database connection
    }

    public List<Project> getProjects(){
        List<Project> projects = new ArrayList<Project>();
        String selectQuery = "SELECT  * FROM " + TABLE_PROJECT;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);
        if(cursor.getCount() != 0){
            Log.d(LOG_TAG, "Projects found...");
          if (cursor.moveToFirst()) {
            do {
                Project project = new Project();
                project.setName(cursor.getString(1));
                project.setClient_name(cursor.getString(2));
                project.setDescription(cursor.getString(3));
                project.setLocation(cursor.getString(4));
                projects.add(project);
            } while (cursor.moveToNext());
          }
        }
      return projects;
    }

    public void updateProject(Project project){
         SQLiteDatabase db = this.getWritableDatabase();
         ContentValues values = new ContentValues();
         values.put(PROJECT_NAME, project.getName()); // Contact Name
         values.put(PROJECT_DESCRIPTION, project.getDescription()); // Contact Phone
         values.put(CLIENT_NAME, project.getClient_name());
         values.put(LOCATION, project.getLocation());
         String where = PROJECT_ID + " = ? ";       
         String [] value = { String.valueOf(project.getProject_id()) };
         try{
             int count = db.update(TABLE_PROJECT, values, where , value);
             Log.d(LOG_TAG, "Updated rows -> " + count);
         }catch (Exception e) {
            e.printStackTrace();
        }
        db.close();
    }
}
The java bean class

Code:
public class Project implements Serializable{

    private static final long serialVersionUID = 1L;
    private int project_id;
    private String name;
    private String description;
    private String client_name;
    private String location;

    public Project(){

    }

    public Project(int project_id, String name, String client_name,String description, String location){
        this.project_id = project_id;
        this.name = name;
        this.description = description;
        this.client_name = client_name;
        this.location = location;
    }

    public int getProject_id() {
        return project_id;
    }

    public void setProject_id(int project_id) {
        this.project_id = project_id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getClient_name() {
        return client_name;
    }

    public void setClient_name(String client_name) {
        this.client_name = client_name;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

}
The activity which adds and updates the project item from list view

Code:
public class AddProjectActivity extends Activity implements Serializable{

    private static final long serialVersionUID = 1L;
    private MenuItem saveItem;
    private DatabaseHandler dbHelper;
    private static final String TITLE = "Add Project";
    public boolean isEdit = false;
    private static final String LOG_TAG = "debugger";
    private Project editedProject;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.add_project);
        setTitle(TITLE);
        dbHelper = DatabaseHandler.getInstance(this);
        EditText projectName = (EditText) findViewById(R.id.editTextProjectName);
        projectName.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                configureSaveButton(s);
            }
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,int after) {}
            @Override
            public void afterTextChanged(Editable s) {}
        });

        TableLayout table = (TableLayout)findViewById(R.id.tableLayout1);
        table.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
              if(getCurrentFocus()!=null && getCurrentFocus() instanceof EditText){
                  InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                  imm.hideSoftInputFromWindow(getWindow().getCurrentFocus().getWindowToken(), 0);
              }
             return false;
            }
        });

        //get intent from Project Fragment when project is edited
        Intent intent = getIntent();
        if(intent.hasExtra(IntentConstants.PROJECT_ITEM)){
            Project project = (Project) intent.getSerializableExtra(IntentConstants.PROJECT_ITEM);
            if(project != null){
                this.isEdit = true;
                setEditedProject(project);
                setProjectData(project);
            }
        }
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.addprojectmenu, menu);
        saveItem = menu.getItem(0);
        saveItem.setEnabled(false);
        return super.onPrepareOptionsMenu(menu);
    }

    private void configureSaveButton(CharSequence s){
        String text = null;
        if(s == null || saveItem == null){
            return;
        }
        text = s.toString();
        if(text != null && text.trim().length() != 0){
            saveItem.setEnabled(true);
        }else{
            saveItem.setEnabled(false);
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
          case R.id.saveButton:
               if(isEdit == true){
                  updateProject();
               }else{
                  saveProject();
               }
               finish();
            break;
         case R.id.cancelButton:
            finish();
            break;
         default:
            break;
        }
     return true;
    }

    private void saveProject(){
        dbHelper.addProject(getProjectData(new Project()));
    }

    private void setProjectData(Project project){
        EditText projectName = (EditText) findViewById(R.id.editTextProjectName);
        projectName.setText(project.getName());
        EditText clientName = (EditText) findViewById(R.id.editTextProjectClient);
        clientName.setText(project.getClient_name());
        EditText projectDesc = (EditText) findViewById(R.id.editTextProjectDesc);
        projectDesc.setText(project.getDescription());
        EditText projectLocation = (EditText) findViewById(R.id.editTextProjectLocation);
        projectLocation.setText(project.getLocation());
    }

    private void updateProject(){
      dbHelper.updateProject(getProjectData(getEditedProject()));
    }

    public boolean isEdit() {
        return isEdit;
    }

    public void setEdit(boolean isEdit) {
        this.isEdit = isEdit;
    }

    private Project getProjectData(Project newProject){
        EditText projectName = (EditText) findViewById(R.id.editTextProjectName);
        String project = projectName.getText().toString();
        EditText clientName = (EditText) findViewById(R.id.editTextProjectClient);
        String client = clientName.getText().toString();
        EditText projectDesc = (EditText) findViewById(R.id.editTextProjectDesc);
        String description = projectDesc.getText().toString();
        EditText projectLocation = (EditText) findViewById(R.id.editTextProjectLocation);
        String location = projectLocation.getText().toString();

        newProject.setName(project);
        newProject.setClient_name(client);
        newProject.setDescription(description);
        newProject.setLocation(location);
        return newProject;
    }

    public Project getEditedProject() {
        return editedProject;
    }

    public void setEditedProject(Project editedProject) {
        this.editedProject = editedProject;
    }

}
My ListFragment method that handles the click of listview item. It passes the data to AddProjectActivity using Intent

Code:
@Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);
        if(dbHelper != null){
            Project project = (Project) this.getListAdapter().getItem(position);
            Intent intent = new Intent(getActivity(), AddProjectActivity.class);
            intent.putExtra(IntentConstants.PROJECT_ITEM, project);
            startActivity(intent);
            this.isEdit = true;
        }
    }
The problem I have is when listview item is edited and updated by user it never gets updated in database. The rowcount returned by update method is always zero.

I am not able to fix this issue.

Can someone help please.