나는 여러 열이있는 목록보기가 있습니다. 이름, 날짜 등과 같은 것들. TextView 헤더를 클릭하고 해당 필드로 목록을 정렬 할 수 있기를 원합니다. 목록이 변수를로드하고 목록이 쿼리되고 _id 필드 (작동 외의 놀랄 일은 아님)로 정렬되면 TextView 헤더를 클릭하면 닫기가됩니다. ::Orderby를 전달
스레드 [< 3> 주 (정지됨 (예외 SQLiteException))
ViewRoot.handleMessage (메시지) 라인 : 1,757
ViewRoot (핸들러) .dispatchMessage (메시지) 라인 99 Looper.loop() 선 123 ActivityThread.main (String []) 행 : 4595
Method.invokeNative (Object, Object [], Class, int, boolean) 행 : 사용할 수 없음 [기본 메서드]
Method.invoke (Object, 오브젝트 ...) 라인 : 521
ZygoteInit $ MethodAndArgsCaller.run() 라인 : 860
ZygoteInit.main (문자열 []) 라인 : 618 NativeStart.main (문자열 []) 라인 : 사용할 수 없습니다 [기본 방법]
내 orderby 변수를 변경하지 않으면 TextView에서 오류가 발생하지 않습니다.
설정 VARIABLE :
private View.OnClickListener NameSortbtnListener = new View.OnClickListener(){
public void onClick(View v){
sort = " KEY_JOURNAL_TITLE ";
fillData();
}
};
채우는리스트 :
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 :
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);
}
데이터베이스 어댑터 있음 각 필드에는 상수가 있습니다. 나는 여전히 같은 간격으로 주위를 놀았다. 또한 : 내가 쿼리를 호출하기 전에 정렬 오류를 지적했다 지적하지 않을 수도 있습니다. private 문자열 sort = "null"; – Brian
SQLiteException에 대한 메시지는 어떻게됩니까? sort = "KEY_JOURNAL_TITLE"을 sort = KEY_JOURNAL_TITLE로 바꾸면 어떻게 될까요? – aepryus
지금은 테스트 할 수 없지만 따옴표없이 문자열을 설정할 수 있다고 생각하지 않습니다. – Brian