2013-02-23 25 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