I have resolved the problem. For anyone who has a similar problem, within the ListView's row element's listener in the custom CursorAdapter I called a static routine, editTime in the parent activity I passed an activity, casting a context, ctx, to it, the view of the item, and a rowid for the database. "holder" is a rowviewholder tagged within the row's view.
RaceSheetActivity.editTime((Activity)holder.ctx, v, holder.intId);
The editTime routine called my TimeEditDialog activity:
public static void editTime(Activity activity, View v, long intTargetId) {
tvTarget = (TextView) v;
String strTime = tvTarget.getText().toString();
// Set up intent to pass to dialog
Intent intentTimeEdit = new Intent(activity.getBaseContext(), TimeEditDialog.class);
intentTimeEdit.putExtra("Request Code", EDIT_TIME_REQUEST_CODE);
intentTimeEdit.putExtra("Time", strTime);
intentTimeEdit.putExtra("Row Id", intTargetId);
activity.startActivityForResult(intentTimeEdit,EDIT_TIME_REQUEST_CODE);
}
The response from the dialog was then processed in the parent activity's onActivityResult method.
The problem areas were realising that I couldn't resolve the static/nonstatic calls if I kept the processing within the custom CursorAdapter and had to manage it within the parent activity, and that I could cast the activity needed to startActivityForResult dialog from a context passed through to the CursorAdapter and process the response in the parent activity.
Any ways to improve this would be gratefully received.