이제 Android 앱에 검색 대화 상자를 구현하는 방법을 알아 냈습니다. 나는 그것을 작동 시키지만, 단지 하나의 컬럼만을 출력한다. 나는 여러 열 (내 경우 3 열)을 검색하는 방법을 생각하지만 이클립스는 틀렸다고 말한다. 여기 내 DBAdapter 클래스의 레코드를 얻기 위해 나의 방법입니다 :Android에서 여러 열 반환 search 대화 상자
//--- GET RECORDS FOR SEARCH
public Cursor searchDB(String query) {
String[] allColumns = new String[]{ KEY_COLUMN1, KEY_COLUMN2, KEY_COLUMN3 };
return db.query(true, DB_TABLE, new String[] { KEY_ROWID,
KEY_COLUMN1, KEY_COLUMN2, KEY_COLUMN3 }, KEY_COLUMN1 + " LIKE" + "'%" + query + "%'", null, null, null, null, null);
}
//--- END Get Records for Search
을 여기에 반환 된 결과를 표시하는 활동의 방법이다 : 지금
//--- Show Results method
private void showResults(String query) {
Cursor cursor = DBHelper.searchDB(query);
startManagingCursor(cursor);
String[] from = new String[] { DBAdapter.KEY_COLUMN1 }; //--- change this?
int[] to = new int[] { R.id.text1 };
SimpleCursorAdapter records = new SimpleCursorAdapter(this,
R.layout.record, cursor, from, to);
setListAdapter(records);
}
//--- END Show Results method
을 문자열 [] allcolumns은 아니다 사용되고있다. 나는 내가 DBAdapter 클래스의 showResults 방법에서 'SearchDB() 메소드와 DBAdapter.allcolumns
을
allcolumns + " LIKE"
를 수행하여 사용할 거라고 생각했습니다. 그러나 allColumns는 showResults() 메서드에서 옵션으로 제공되지 않습니다. 거래는 뭐니? 검색 대화 상자에서 여러 DB 열을 반환하려면 어떻게합니까?