我是android新手。我想要顯示從數據庫插入的數據到一個表。我用List來獲取數據。不能完全從數據庫中清除數據的列表
public List<user> getAllUsers() {
List<user> users = new ArrayList<user>();
Cursor cursor = database.query(SqlLiteHelper.TABLE_USER, allColumns, null, null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
user varUser = cursorToUser(cursor);
//Log.v("user name",varUser.getName().toString());
users.add(varUser);
cursor.moveToNext();
}
//Log.v("user name",users.get(0).getName().toString());
cursor.close();
return users;
}
private user cursorToUser(Cursor cursor) {
user varUser = new user();
//Log.v("user id", cursor.getString(1).toString());
varUser.setID(cursor.getLong(0));
varUser.setName(cursor.getString(1));
varUser.setPhone(cursor.getString(2));
varUser.setEmail(cursor.getString(3));
return varUser;
}
我寫了一篇關於UserDataSource.java
此代碼然後,我需要顯示這些我用下面的代碼
databaseSource = new UserDataSource(this);
databaseSource.open();
List<user> values = databaseSource.getAllUsers();
Log.v("information", values.get(0).getName().toString());
ArrayAdapter<user> adapter = new ArrayAdapter<user>(this, android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
在列表中這不是增加值的數據。我使用log.v來檢查數據是否回來。我發現數據來自數據庫。只有當我嘗試打印列表或將其插入到simple_list_item_1時,它纔會解決問題。
在打印
的擊打其假設從數據庫打印的名稱。
數據庫表名是用戶。
請讓我知道我缺少什麼。
這裏就是我試圖添加這些列表
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/all_user_back"
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:text="Back" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="384dp" >
</ListView>
</LinearLayout>
這是什麼cursorToUser(光標);方法呢? – 2013-02-20 08:19:21
函數corsorToUser(光標遊標)用於使用檢索數據創建用戶類的對象。我將對象列表保存爲LIST – 2013-02-20 08:21:02
我們需要查看您的用戶類和cursorToUser()方法。唯一我能想到的是,你以某種方式將錯誤的列映射到getName()..請更新 – Entreco 2013-02-20 08:24:08