SimpleCursorAdaptor 및 ListView를 사용하여 SQLite 데이터베이스 행의 값을 표시하고 있습니다. 내 행의 값 중 하나가 날짜 ('date'열)입니다. 이 날짜를 표시하는 대신 날짜를 기준으로 다른 문자열을 반환하는 메서드를 통해이 메서드를 실행해야합니다. 이 값은 데이터베이스에서 직접 가져온 실제 값이 아니라 목록에 표시하고자하는 값입니다.ListView 및 SimpleCursorAdaptor를 사용하여 행 값을 표시하기 전에 행 값을 어떻게 수정합니까?
간단히 말해, 데이터베이스 테이블 행의 값을 표시하기 전에 변경해야하는 값을 제외한 모든 값을 표시하고 싶습니다.
여기 내 코드입니다 :
public class BinCollectionDayListActivity extends ListActivity{
//
private static final String fields[] = { "name", "date", BaseColumns._ID };
//
public void onCreate(Bundle savedInstanceState) {
//
super.onCreate(savedInstanceState);
//
DatabaseHelper helper = new DatabaseHelper(this);
SQLiteDatabase database = helper.getWritableDatabase();
Cursor data = database.query("names", fields, null, null, null, null, null);
CursorAdapter dataSource = new SimpleCursorAdapter(this, R.layout.binrow, data, fields, new int[] { R.id.name, R.id.date });
dataSource.getCursor().requery();
//
ListView view = getListView();
view.setHeaderDividersEnabled(true);
setListAdapter(dataSource);
//
helper.close();
database.close();
}
}
당신은 내가 안드로이드 개발 꽤 새로운 오전과 가장 좋은 방법은 원하는 결과를 달성하는 것이 무엇인지 알고 싶어요 말할 수. 당신의 ArrayAdapter와에 커서 데이터를 ArrayAdapter와를 만들고 채우는 :
배열 어댑터 (선호) : 내가 전에 사용했던 사전에
감사합니다,
토니
SimpleCursorAdapter를 직접 사용하는 대신. 별도의 배열을 만들고 그 배열에 값을 채우고 해당 배열을 setListAdapter (...)에 대한 매개 변수로 전달합니다. – kosa