2013-02-23 42 views
1

我從數據庫中選擇數據。 數據在一列中,您必須轉換爲千克,我需要乘以一列的因子。英鎊欄sets_weight中的數據,並且必須以千克顯示,而不需要修改數據庫 如何正確執行。有任何想法嗎!謝謝!如何乘以ListView中的數字,Android

onSets = db.getSets(exesIdsColExes, toprog_dif);  
    listSets.setAdapter(new SimpleCursorAdapter(this, 
      R.layout.itemsets, onSets, 
      new String[] {"sets_ids", "sets_weight", "sets_ones"}, 
      new int[] {R.id.itemsets_ids, R.id.itemsets_weight, R.id.itemsets_ones}) { 
     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
       View row = super.getView(position, convertView, parent); 
       // Here we get the textview and set the color 
       Typeface fontTitleProg = Typeface.createFromAsset(getAssets(), "AGHELVETICA.TTF"); 
       TextView itemsets_ids = (TextView) row.findViewById(R.id.itemsets_ids); 
       itemsets_ids.setTypeface(fontTitleProg, 1); 
       itemsets_ids.setGravity(0x05); 

       TextView itemsets_weight = (TextView) row.findViewById(R.id.itemsets_weight); 
       itemsets_weight.setTypeface(fontTitleProg, 1); 
       itemsets_weight.setGravity(0x01); 

       TextView itemsets_ones = (TextView) row.findViewById(R.id.itemsets_ones); 
       itemsets_ones.setTypeface(fontTitleProg, 1); 
       itemsets_ones.setGravity(0x01); 

       return row; 
     } 
    }); 
+0

所以,你基本上想知道如何轉換成千克後的列值乘以另一列中的值? – lokoko 2013-02-24 05:02:03

+0

不,數據在英鎊欄中sets_weight,有必要以千克顯示,而不需要修改數據庫 – Roman 2013-02-24 07:57:47

回答

0

我從來沒有做過任何Android的發展,但the documentation of SimpleCursorAdapter說:

首先,如果SimpleCursorAdapter.ViewBinder可用,setViewValue(android.view.View,android.database.Cursor, int)被調用。如果返回值爲true,則發生綁定。如果返回值爲false,並且綁定視圖是TextView,則調用setViewText(TextView,String)。如果返回值爲false,並且要綁定的視圖是ImageView,則調用setViewImage(ImageView,String)。

所以你只需要傳遞一個SimpleCursorAdapter自定義實例,如果列索引是1(第二列),從光標獲取磅值,乘以它將磅轉換爲公斤,設置結果作爲視圖的文本,並返回true。對於其他列,返回false。

+0

感謝您的提示權!有效! :) – Roman 2013-02-24 16:22:30