Thanks Peli, For ur valuable response. I tried with that too but it was not working....
the problem is protected void onListItemClick(ListView l, View v, int position, long _id) this rowId value _id in onListItemClick remains on 0 for all records, hence the value which we set in Intent remains to be 0 Intent i = new Intent(this,EmployeeEdit.class); i.putExtra(EmployeeDAO.KEY_ROW_ID, _id); TO overcome that what i have done is // After moving to the required Position in Cursor, i m taking the rowId from Cursor.. Since rowId forms the first coulumn in the returned result set c.moveToPosition(position); Log.d(TAG, "Row Id for the selected Record"+c.getLong(0)); _id = c.getLong(0); Intent i = new Intent(this,EmployeeEdit.class); i.putExtra(EmployeeDAO.KEY_ROW_ID, _id); this worked for me... now i m able to update each record without any Problem... Thanks Again Thanks JavaAndroid The problem is On Oct 14, 10:32 pm, Peli <[EMAIL PROTECTED]> wrote: > In EmployeeEdit.onCreate() you set mRowId = null; > > Peli > > On Oct 14, 7:15 pm, JavaAndroid <[EMAIL PROTECTED]> wrote: > > > > > Hi All, > > I could trouble shoot my issue. I could insert a new record and delete > > an existing one..But while editing and updating i m getting rowId as > > 0. it simply displays 0 for all records... > > i feel we are setting the rowId to intent in this method.. > > protected void onListItemClick(ListView l, View v, int position, long > > _id) > > > protected void onListItemClick(ListView l, View v, int position, long > > _id){ > > super.onListItemClick(l, v, position, _id); > > Cursor c = mCursor; > > Log.d(TAG, "Position in the List "+position); > > Log.d(TAG, "Cursor-----"+c); > > c.moveToPosition(position); > > Log.d(TAG, "Row Id for the selected Record"+c.getLong(0)); > > Intent i = new Intent(this,EmployeeEdit.class); > > i.putExtra(EmployeeDAO.KEY_ROW_ID,_id); > > i.putExtra(EmployeeDAO.EMP_NAME, c.getString( > > c.getColumnIndexOrThrow(EmployeeDAO.EMP_NAME))); > > i.putExtra(EmployeeDAO.EMP_AGE, c.getInt( > > c.getColumnIndexOrThrow(EmployeeDAO.EMP_AGE))); > > i.putExtra(EmployeeDAO.EMP_QUALIFICATION, c.getString( > > > > c.getColumnIndexOrThrow(EmployeeDAO.EMP_QUALIFICATION))); > > i.putExtra(EmployeeDAO.EMP_DEPT, c.getString( > > c.getColumnIndexOrThrow(EmployeeDAO.EMP_DEPT))); > > startActivityForResult(i, ACTIVITY_EDIT); > > } > > > protected void onActivityResult(int requestCode, int resultCode, > > Intent intent){ > > super.onActivityResult(requestCode, resultCode, intent); > > Bundle extras = intent.getExtras(); > > switch(requestCode){ > > case ACTIVITY_CREATE: > > String employeeName = > > extras.getString(EmployeeDAO.EMP_NAME); > > int employeeAge = > > Integer.parseInt(extras.getString(EmployeeDAO.EMP_AGE)); > > String employeeQualification = > > extras.getString(EmployeeDAO.EMP_QUALIFICATION); > > String employeeDept = > > extras.getString(EmployeeDAO.EMP_DEPT); > > employee.insertEmployeeInformation(employeeName, > > employeeAge, > > employeeQualification, employeeDept); > > fillData(); > > break; > > case ACTIVITY_EDIT: > > Long rowId = extras.getLong(EmployeeDAO.KEY_ROW_ID); > > Log.d(TAG, "RowId in Activity Edit"+rowId); > > if(rowId != null){ > > Log.d(TAG, "RowId While Updating the record > > "+rowId); > > String updateEmployeeName = > > extras.getString(EmployeeDAO.EMP_NAME); > > int updateEmployeeAge = > > Integer.parseInt(extras.getString(EmployeeDAO.EMP_AGE)); > > String updateEmployeeQualification = > > extras.getString(EmployeeDAO.EMP_QUALIFICATION); > > String updateEmployeeDept = > > extras.getString(EmployeeDAO.EMP_DEPT); > > employee.updateEmployeeInformation(rowId, > > updateEmployeeName, > > updateEmployeeAge, > > updateEmployeeQualification, > > updateEmployeeDept); > > fillData(); > > break; > > } > > } > > > we would be taking this value in onActivityResult() method and calling > > DAO layer from there..... > > > i have debugged this, but rowId always remains at 0.... can anybody > > find where the Problem is?? > > > All classes are present in first Post... > > Thanks in Advance > > > Thanks > > JavaAndroid > > > On Oct 13, 10:57 pm, JavaAndroid <[EMAIL PROTECTED]> wrote: > > > > Peli > > > Thanks a million for your timely help. Logcat was really helpful in > > > identifying the issue, and i got my application working.....thanks > > > again > > > > JavaAndroid > > > > On Oct 13, 6:15 pm, Peli <[EMAIL PROTECTED]> wrote: > > > > > The answer is in the last post > > > > here:http://groups.google.com/group/android-beginners/browse_thread/thread... > > > > > Since there can be several emulators open at a time, you also have to > > > > open the "devices" list, and click on your emulator to activate the > > > > logcat output. > > > > > Peli > > > > > On Oct 13, 10:25 am, JavaAndroid <[EMAIL PROTECTED]> wrote: > > > > > > Hi Peli, > > > > > Thanks for ur Valuable response. I m not aware of this logcat tab in > > > > > eclipse. Is that present in any Window?? > > > > > > Thanks > > > > > JavaAndroid > > > > > > On Oct 13, 12:42 pm, Peli <[EMAIL PROTECTED]> wrote: > > > > > > > You have to use logcat to see the debugging statements. > > > > > > > Either from Eclipse open the logcat tab and choose the device from > > > > > > the > > > > > > devices list. > > > > > > Or in a shell enter "adb logcat". > > > > > > > Peliwww.openintents.org > > > > > > > On Oct 13, 2:49 am, JavaAndroid <[EMAIL PROTECTED]> wrote: > > > > > > > > Hi All, > > > > > > > I m a novice in Google Android.. Just started with couple of > > > > > > > tutorials > > > > > > > present in Google Android Documentation page. > > > > > > > I have modified theNotePadapplicationpresent there. I have four > > > > > > > textfields namely, employeeName,employeeAge, > > > > > > > employeeQualification, employeeDept. > > > > > > > I could insert a new record and delete an existing record, but i m > > > > > > > facing problem in editing an existing record. When i click a > > > > > > > record it > > > > > > > says, theApplicationEmployeeInformation has stopped unexpectedly. > > > > > > > Here is my EmployeeInfo class > > > > > > > package com.dreamapp.employeeinfo.activity; > > > > > > > > import android.app.ListActivity; > > > > > > > import android.content.Intent; > > > > > > > import android.database.Cursor; > > > > > > > import android.os.Bundle; > > > > > > > import android.util.Log; > > > > > > > import android.view.Menu; > > > > > > > import android.view.MenuItem; > > > > > > > import android.view.View; > > > > > > > import android.widget.ListView; > > > > > > > import android.widget.SimpleCursorAdapter; > > > > > > > > import com.dreamapp.employeeinfo.util.EmployeeDAO; > > > > > > > > public class EmployeeInfo extends ListActivity { > > > > > > > private static final int ACTIVITY_CREATE =0; > > > > > > > private static final int ACTIVITY_EDIT =1; > > > > > > > > private static final int INSERT_ID = Menu.FIRST; > > > > > > > private static final int DELETE_ID = Menu.FIRST+1; > > > > > > > > private EmployeeDAO employee; > > > > > > > private Cursor mCursor; > > > > > > > > private static final String TAG="EmployeeInfo"; > > > > > > > /** Called when the activity is first created. */ > > > > > > > [EMAIL PROTECTED] > > > > > > > public void onCreate(Bundle savedInstanceState) { > > > > > > > super.onCreate(savedInstanceState); > > > > > > > setContentView(R.layout.employee_list); > > > > > > > employee = new EmployeeDAO(this); > > > > > > > employee.open(); > > > > > > > fillData(); > > > > > > > } > > > > > > > > public void fillData(){ > > > > > > > mCursor = employee.fetchAllEmployeeInformation(); > > > > > > > startManagingCursor(mCursor); > > > > > > > > String[] from = new String[] {EmployeeDAO.EMP_NAME}; > > > > > > > > int[] to = new int[] {R.id.text1}; > > > > > > > SimpleCursorAdapter employeeList = > > > > > > > new SimpleCursorAdapter(this, > > > > > > > R.layout.employee_row, > > > > > > > mCursor,from, to); > > > > > > > setListAdapter(employeeList); > > > > > > > } > > > > > > > > public boolean onCreateOptionsMenu(Menu menu){ > > > > > > > super.onCreateOptionsMenu(menu); > > > > > > > menu.add(0, INSERT_ID, 0, R.string.menu_insert); > > > > > > > menu.add(0, DELETE_ID, 0, R.string.menu_delete); > > > > > > > return true; > > > > > > > } > > > > > > > > public boolean onMenuItemSelected(int featureId, MenuItem > > > > > > > item){ > > > > > > > switch(item.getItemId()){ > > > > > > > case INSERT_ID: > > > > > > > insertEmployeeInformation(); > > > > > > > return true; > > > > > > > case DELETE_ID: > > > > > > > employee.deleteEmployeenformation(getListView(). > > > > > > > getSelectedItemId()); > > > > > > > fillData(); > > > > > > > return true; > > > > > > > } > > > > > > > return super.onMenuItemSelected(featureId, item); > > > > > > > } > > > > > > > > public void insertEmployeeInformation(){ > > > > > > > Intent i = new Intent(this,EmployeeEdit.class); > > > > > > > startActivityForResult(i, ACTIVITY_CREATE); > > > > > > > } > > > > > > > > protected void onListItemClick(ListView l, View v, int > > > > > > > position, > > > > > > > long id){ > > > > > > > super.onListItemClick(l, v, position, id); > > > > > > > Cursor c = mCursor; > > > > > > > Log.w(TAG, "Position in the List "+position); > > > > > > > c.moveToPosition(position); > > > > > > > Intent i = new Intent(this,EmployeeEdit.class); > > > > > > > i.putExtra(EmployeeDAO.KEY_ROW_ID, id); > > > > > > > i.putExtra(EmployeeDAO.EMP_NAME, c.getString( > > ... > > read more »- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---