我有一個列表視圖與幾列;諸如名稱,日期等。我希望能夠點擊標題TextView並按該字段對列表進行排序。當列表加載變量作品,並且按字段_id查詢和排序列表(除了它的工作原理沒有意外),但是當我點擊標題TextView時,我得到了一個強制關閉:通過訂單
線程[< 3>主](暫停(例外SQLiteException))
ViewRoot.handleMessage(消息)線:1757
的ViewRoot(處理程序).dispatchMessage(消息)線:99 Looper.loop()線:123 ActivityThread.main( Method.invokeNative(Object,Object [],Class,Class [],Class,int,boolean)line:不可用[本機方法]
Method.invoke(Object,對象...)線:521
ZygoteInit $ MethodAndArgsCaller.run()線:860
ZygoteInit.main(字符串[])線:618 NativeStart.main(字符串[])行:不可用[本機方法]
當不改變我的orderby變量時,TextView不會發生錯誤。
設置變量:
private View.OnClickListener NameSortbtnListener = new View.OnClickListener(){
public void onClick(View v){
sort = " KEY_JOURNAL_TITLE ";
fillData();
}
};
填充LIST:
private void fillData() { Cursor notesCursor = mDbHelper.fetchAllJournals(sort); startManagingCursor(notesCursor);
String[] from = new String[]{journalDbAdapter.KEY_JOURNAL_TITLE,
journalDbAdapter.KEY_LOCATION, journalDbAdapter.KEY_JDATE,
journalDbAdapter.KEY_STEPS};
int[] to = new int[]{R.id.text1, R.id.text2, R.id.text3, R.id.text4};
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.notes_row, notesCursor,
from, to); setListAdapter(notes); }
QUERY(IN DB適配器):
public Cursor fetchAllJournals(String sort) {
return mDb.query(DATABASE_JOURNAL_TABLE, new String[] {KEY_JROWID,
KEY_JOURNAL_TITLE, KEY_JOURNAL_NOTES, KEY_JDATE, KEY_LOCATION,
KEY_STEPS},null , null, null, null, sort ,null);
}
在數據庫適配器是有每個字段的常量。 我玩過的間距仍然是相同的錯誤。 另外:我可能沒有指出我在調用查詢之前聲明瞭sort並且沒有錯誤。 private String sort =「null」; – Brian 2010-07-24 22:51:25
關於SQLiteException的消息呢?如果您將sort =「KEY_JOURNAL_TITLE」替換爲sort = KEY_JOURNAL_TITLE,該怎麼辦? – aepryus 2010-07-25 02:14:16
我現在無法測試它,但我不相信你可以設置一個字符串不帶引號 – Brian 2010-07-25 16:49:12