我正在嘗試將游標結果列印到 log.d。
當我列印游標的結果時,它不會列印陣列。
即 D/Row 值:com.example.androidlabs.Todo@7c9655f
這是代碼:
public void printCursor(Cursor c) {
//The database version number using db.getVersion for the version number.
int version = db.getVersion();
//The number of rows in the cursor
int rowCount = c.getCount();
//The number of columns in the cursor
int columnCount = c.getColumnCount();
//The names of the columns in the cursor
String[] columnNames = c.getColumnNames();
//The results of each row in the cursor
ArrayList<Todo> rowValuesList = new ArrayList<>();
int ColIndex = c.getColumnIndex(myOpener.COL_1);
int itemColIndex = c.getColumnIndex(myOpener.COL_2);
int urgentColIndex = c.getColumnIndex(myOpener.COL_3);
c.moveToFirst();
if(c.moveToFirst()) {
long id = c.getLong(ColIndex);
String item = c.getString(itemColIndex);
int urgentInt = c.getInt(urgentColIndex);
if (urgentInt == 1) {
urgent = true;
} else {
urgent = false;
}
rowValuesList.add(new Todo(item, urgent, id));
}
String rowValues = TextUtils.join(",", rowValuesList);
//Printing variables to log
Log.d("Database version", String.valueOf(version));
Log.d("Row count", String.valueOf(rowCount));
Log.d("Column count", String.valueOf(columnCount));
Log.d("Column names", Arrays.toString(columnNames));
Log.d("Row values", rowValues);
}
我嘗試過的其他選項無效:
Log.d("Row values", rowValuesList.toString());
for (Todo t : rowValuesList) {
Log.d("Row values", String.valueOf(t));
}
StringBuilder s = new StringBuilder();
for(Todo todo : rowValuesList) {
s.append(todo);
s.append(",");
}
Log.d("Row values", String.valueOf(s));
我知道游標不為空,因為它在從應用程式上的 SQLite 加載時顯示結果。
任何意見將是有益的。
謝謝,
uj5u.com熱心網友回復:
你的輸出是:
D/Row values: com.example.androidlabs.Todo@7c9655f
如果:
rowValuesList包含單個Todo物件,并且- 您的
Todo課程沒有自定義實作toString()
toString()您繼承的默認實作Object給出了您所看到的結果:完全限定的類名和物件 ID,用@.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/489551.html
上一篇:如何在與xml檔案不對應的檔案上初始化RadioGroup/Button
下一篇:當nameText為空時需要幫助輸出“您必須輸入名稱”。使用我目前擁有的代碼,當nameText為空時它無法識別
