1

データベースからデータを選択します。1列のデータ、キログラムに変換する必要があります。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

私はAndroid開発を行ったことがありませんが、SimpleCursorAdapterのドキュメントには次のように書かれています。

まず、SimpleCursorAdapter.ViewBinderが使用可能な場合、setViewValue(android.view.View、android.database.Cursor、int)が呼び出されます。戻り値がtrueの場合、バインディングが発生しています。戻り値がfalseで、バインドするビューがTextViewの場合、setViewText(TextView、String)が呼び出されます。戻り値がfalseで、バインドするビューがImageViewの場合、setViewImage(ImageView、String)が呼び出されます。

したがって、SimpleCursorAdapterのカスタムインスタンスを渡す必要があります。これは、列インデックスが1(2番目の列)の場合、カーソルからポンド単位の値を取得し、それを乗算してポンドをkgに変換し、結果をテキストとして設定します。表示し、trueを返します。他の列については、falseを返します。

于 2013-02-24T08:22:29.273 に答える