0

私は最初の重要な Android アプリを作成していて、listView のいくつかの textView に通貨形式を適用するのに助けが必要です。CURRENT_VALUE フィールドと TOTAL_VALUE フィールドを通貨としてフォーマットしたいと考えています。私は ViewBinde についていくつか読んだことがありますが、これは私が使用する必要があると思われますが、それと私が既に持っているコードとの関係に頭を悩ませているようには見えません。どんな助けでも大歓迎です。

    private void fillData() {

    DBAdapter db = new DBAdapter(this);
        db.open();
    Cursor c = db.getAllInventory();
        startManagingCursor(c);

        String[] from = new String[] { db.DESCRIPTION ,db.QUANTITY,db.CURRENT_VALUE, db.TOTAL_VALUE};
        int[] to = new int[] { R.id.text1,R.id.text2,R.id.text3,R.id.text4 };


        SpecialCursorAdapter invItems =
            new SpecialCursorAdapter(this, R.layout.inv_item, c, from,to);
        setListAdapter(invItems);
    }


public class SpecialCursorAdapter extends SimpleCursorAdapter 

{
    private int[] colors = new int[] { 0xFFD0D1D2, 0xFFFFFFFF };

    public SpecialCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
    {
        super(context,layout, c, from, to);




    }
   @Override
    public View getView(int position, View convertView, ViewGroup parent) {
      View view = super.getView(position, convertView, parent);
      int colorPos = position % colors.length;
      view.setBackgroundColor(colors[colorPos]);
      return view;

    }

}
4

1 に答える 1

1

getView次のように、メソッドでDecimalFormatクラスを使用してこれを行います。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null)
        convertView = View.inflate(context, layout, null);
    View row = convertView;
    c.moveToPosition(position);

    TextView fourth = (TextView) convertView.findViewById(R.id.ListItem4);

    DecimalFormat df = new DecimalFormat("0.00");
    Double total = Double.valueOf(c.getString(3));

    fourth.setText("$" + df.format(total));
    fourth.setTextColor(MyApplication.shoplistitem_desc);

    return row;
}
于 2012-06-15T06:32:36.800 に答える