하나의 필드로 정렬하고 다른 필드의 행 위치를 볼 수 있습니까? 예를 들어 첫 번째 필드에 이름이 있고 두 번째 필드에 나이가있는 경우 이름순으로 정렬하고 세 번째 필드에서 가장 오래된 위치부터 가장 오래된 위치를 봅니다.android getPosition and sorting
Ann 25years 2 // 2nd position in the age.
Joe 30years 3 // 3rd position in the age.
Ron 20years 1 // 1st position
나는 "칼럼 나이"로부터 getposition을 갖고 싶습니다.
내 코드
Show_Activity
///ON RESUME
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
datasource.open();
Cursor cursor = datasource.Query(filter);
String[] columns = new String[] { "swimm_pos", "swimm_date","swimm_lap", "swimm_stroke", "swimm_time", "swimm_media", "swimm_efficiency", "swimm_note" };
int[] to = new int[] { R.id.swimm_pos, R.id.swimm_date, R.id.swimm_lap, R.id.swimm_stroke, R.id.swimm_time, R.id.swimm_medialap, R.id.swimm_efficiency, R.id.swimm_note};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this,
R.layout.list_layout,
cursor,
columns,
to);
adapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
if (view.getId() == R.id.swimm_pos)
{
rowcounter = cursor.getPosition()+1;
String s = String.valueOf(rowcounter);
TextView tv = (TextView)view;
tv.setBackgroundColor(0xFF558866);
tv.setText(s);
return true;
}
return false;}
});
this.setListAdapter(adapter);
datasource.close();
}
DBAdapter
public Cursor Query(String filter) {
Cursor cursor = database.rawQuery
("select _id, swimm_pos,swimm_date, swimm_lap,swimm_stroke,swimm_time,swimm_media,swimm_efficiency,swimm_note from swimm_table order by cast("+filter+" as integer) asc", null);
return cursor;
}
.........
내가 버튼 정렬
....
switch (v.getId()) {
case R.id.btn_sort_date:
filter = "swimm_date";
datasource.open();
cursor = datasource.Query(filter);
adapter = new SimpleCursorAdapter(
this,
R.layout.list_layout,
cursor,
columns,
to);
이름순으로 정렬 된 목록의 표시를 수정 하시겠습니까? 어디에서 데이터를 가져 오나요? –