1

我从数据库中选择数据。一列的数据,你必须转换成公斤,我需要乘以一列的因子。列sets_weight中的数据以磅为单位,必须以公斤为单位显示,无需修改到数据库如何正确执行。有任何想法吗!谢谢!

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;
        }
    });
4

1 回答 1

0

我从来没有做过任何安卓开发,但是SimpleCursorAdapter 的文档说:

首先,如果 SimpleCursorAdapter.ViewBinder 可用,则调用 setViewValue(android.view.View, android.database.Cursor, int)。如果返回值为 true,则表示发生了绑定。如果返回值为 false 并且要绑定的视图是 TextView,则调用 setViewText(TextView, String)。如果返回值为 false 并且要绑定的视图是 ImageView,则调用 setViewImage(ImageView, String)。

因此,您只需传递 SimpleCursorAdapter 的自定义实例,如果列索引为 1(第二列),则从光标获取以磅为单位的值,将其相乘以将磅转换为 kg,将结果设置为查看,并返回true。对于其他列,返回 false。

于 2013-02-24T08:22:29.273 回答