2013-01-03 30 views
0

如何添加列「swimm_lap」(存儲爲字符串的數字)的總數並將其顯示在文本視圖中。 我嘗試添加像... SELECT SUM(swimm_lap)......從從sqlite字符串列中獲取總數

在這裏我有我的適配器

public Cursor Query(String filter, String date_filter, String lap_filter) { 
    if (date_filter == null & lap_filter == null){ 
      int sum = 0; 
      Cursor cursor = database.rawQuery 
      ("select sum(swimm_lap) _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);   
      if (cursor.moveToFirst()) 
      {sum = cursor.getInt(0);} 
      return cursor;} 

和主要活動

totallap = (TextView) findViewById(R.id.total_lap); 
totallap.setText(String.valueOf(sum)); 
public void Bindadapter() { 
     datasource.open(); 
    Cursor cursor = datasource.Query(filter, date_filter, lap_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.total_lap) 
     { 
     sum = cursor.getInt(0); 
     String s = String.valueOf(sum); 
     TextView tv = (TextView)view; 
     tv.setText(s); 
     return true; 
     } 

回答

0
int sum = 0; 
Cursor cursor = database.rawQuery("SELECT SUM(swimm_lap) FROM swimm_table", null); 

if (cursor.moveToFirst()) 
{ 
    sum = cursor.getInt(0); 
} 
+0

我嘗試將您的代碼集成到我的查詢中(上面的新編輯代碼),但現在我只顯示我的listview中的第一條記錄,並且我的totallap textview = 0。 – lucignolo