試試這個:從評論
public List<String> reTurn() throws SQLException
{
List<String> emails = new ArrayList<String>();
Cursor mCursor = db.rawQuery("SELECT EmailNO FROM Details_Customer ", null);
int index = mCursor.getColumnIndex(DBAdapter.COLUMN_EMAIL);
while(mCursor.moveToNext()) {
emails.add(mCursor.getString(index));
//password = mCursor.getString(11);
}
return emails;
}
新增
從這:
email.putExtra(Intent.EXTRA_EMAIL, new String[]{ dbUser.reTurned});
我猜你正試圖把電子郵件地址的數組稱爲email
的意圖。這裏是一個更好的方法:
public String[] reTurn() throws SQLException
{
Cursor mCursor = db.rawQuery("SELECT EmailNO FROM Details_Customer ", null);
String[] emails = new String[mCursor.getCount()];
int i = 0;
int index = mCursor.getColumnIndex(DBAdapter.COLUMN_EMAIL);
while(mCursor.moveToNext()) {
emails[i++] = mCursor.getString(index);
//password = mCursor.getString(11);
}
return emails;
}
而且把這種在一個意圖:
email.putExtra(Intent.EXTRA_EMAIL, dbUser.reTurned());
最後,在你的新的活動讀取電子郵件數組:
String[] emails = getIntent().getStringArrayExtra(Intent.EXTRA_EMAIL);
希望幫助。
來源
2012-06-06 21:10:15
Sam
更改您的if語句成一個圈把所有的電子郵件。或者我認爲你可以使用遊標適配器。 – Ryan
我該怎麼做?請幫助 – user1430923
你永遠不會調用mCursor.moveToNext(),你也不會循環,所以你的代碼應該只返回1個值,如果有的話 – Guardanis