public class DBTester2 extends ListActivity {

	private DBAdapter1 mDbHelper;
	Cursor mCursor;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		mDbHelper = new DBAdapter1(this);
		mDbHelper.open();
		mDbHelper.insertRow("Steve","Jobs","Cupertino",32);
		long rowid = mDbHelper.insertRow("Bill","Gates","Seattle",35);
		Toast.makeText(getApplicationContext(), "RowID of Inserted: " + rowid , Toast.LENGTH_LONG ).show();

		int rowcnt = mDbHelper.updateRow(rowid,"Bill","Gates Jr.","Seattle",35);
		Toast.makeText(getApplicationContext(), "No. of rows updated: " + rowcnt , Toast.LENGTH_LONG ).show();

		mCursor = mDbHelper.fetchAllRows();
		startManagingCursor(mCursor);

		SimpleCursorAdapter adapter5 = new SimpleCursorAdapter(
		this, 
		R.layout.row_layout,
		mCursor,
		new String[] { "FirstName","LastName","City" },
		new int[] { R.id.text1, R.id.text2, R.id.text3 }  );
		setListAdapter(adapter5);

		if (mDbHelper != null)	mDbHelper.close(); 
	}
}

메인소스

public class DBAdapter1 {

	private final Context mCtx;

	private static final String DATABASE_NAME = "MyUserDB";
	private static final String DATABASE_TABLE = "users";
	private static final int DATABASE_VERSION = 7;

	public static final String KEY_ROWID = "_id";
	public static final String KEY_FIRSTNAME = "FirstName";
	public static final String KEY_LASTNAME = "LastName";
	public static final String KEY_CITY = "City";
	public static final String KEY_AGE = "Age";

	private static final String TAG = "DBAdapter1";
	private DatabaseHelper mDbHelper;
	private SQLiteDatabase mDb;

	private static final String DATABASE_CREATE =
	"create table users (" +
	"_id integer primary key autoincrement, " + 
	"LastName text not null, " +
	"FirstName text not null," +
	"City text not null," +
	"Age int not null);";	

	private static class DatabaseHelper extends SQLiteOpenHelper {

		DatabaseHelper(Context context) {
			super(context, DATABASE_NAME, null, DATABASE_VERSION);
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			db.execSQL(DATABASE_CREATE);
		}

		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
			+ newVersion + ", which will destroy all old data");
			db.execSQL("DROP TABLE IF EXISTS users");
			onCreate(db);
		}
	}

	public DBAdapter1(Context ctx) {
		this.mCtx = ctx;
	}

	public DBAdapter1 open() throws SQLException {
		mDbHelper = new DatabaseHelper(mCtx);
		mDb = mDbHelper.getWritableDatabase();
		return this;
	}

	public void close() {
		mDbHelper.close();
	}

	public long insertRow(String firstName, String lastName, String city, int age) {
		ContentValues insertValues = new ContentValues();
		insertValues.put(KEY_FIRSTNAME, firstName);
		insertValues.put(KEY_LASTNAME, lastName);
		insertValues.put(KEY_CITY, city);
		insertValues.put(KEY_AGE, age);
		return mDb.insert(DATABASE_TABLE, null, insertValues);
	}

	public boolean deleteRow(long rowId) {
		return mDb.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
	}

	public Cursor fetchAllRows() {
		return mDb.query(DATABASE_TABLE, 
		new String[] {KEY_ROWID, KEY_FIRSTNAME,KEY_LASTNAME,KEY_CITY,KEY_AGE}, 
		null, null, null, null, null);
	}

	public Cursor fetchRow(long rowId) throws SQLException {

		Cursor mCursor = mDb.query(
		true, 
		DATABASE_TABLE, 
		new String[] {KEY_ROWID, KEY_FIRSTNAME,KEY_LASTNAME,KEY_CITY,KEY_AGE}, 
		KEY_ROWID + "=" + rowId, 
		null,null, null, null, null);
		if (mCursor != null) {
			mCursor.moveToFirst();
		}
		return mCursor;
	}

	public int updateRow(long rowId, String firstName, String lastName, String city, int age) {
		ContentValues updateValues = new ContentValues();
		updateValues.put(KEY_FIRSTNAME, firstName);
		updateValues.put(KEY_LASTNAME, lastName);
		updateValues.put(KEY_CITY, city);
		updateValues.put(KEY_AGE, age);

		return  mDb.update(DATABASE_TABLE, updateValues, KEY_ROWID + "=" + rowId, null);
	}

	public int updateField(long rowId, String field, String value) {
		ContentValues updateValues = new ContentValues();
		updateValues.put(field, value);
		return mDb.update(DATABASE_TABLE, updateValues, KEY_ROWID + "=" + rowId, null);
	}
}

서브 소스


위와같은 소스가 있을때,

메인에서는 서브에 있는 메소드를 불러와서 처리해주고 있ㅅ브니다.

서브 소스의 insertrow 이부분에 대하여 클릭 이벤트를 주고 싶으면 어떻게 처리하면 되는건가요?

클릭이벤트는 만약에 클릭하였을 때, 메인에서 editview를 만들어서

editview안의 내용을 받아와서 저장한다고 하면 어떻게 처리하면 될지..



참고로 두개의 소스는 각각 따로 클래스를 생성하였고,
클릭이벤트는 메인 소스에서 발생합니다.

예제를 응용해서 해보려고 하는데, 감이 잡히지를 않습니다.

조언 부탁드립니다.