1 | /** |
2 | * Copyright (C) 2010-2011 Diego Torres Milano |
3 | */ |
4 | package com.example.aatg.tc; |
5 | |
6 | import android.content.Context; |
7 | import android.text.InputFilter; |
8 | import android.text.method.DigitsKeyListener; |
9 | import android.util.AttributeSet; |
10 | import android.util.Log; |
11 | import android.widget.EditText; |
12 | |
13 | /** |
14 | * @author diego |
15 | * |
16 | */ |
17 | public class EditNumber extends EditText { |
18 | |
19 | private static final String DEFAULT_FORMAT = "%.2f"; |
20 | |
21 | /** |
22 | * @param context |
23 | */ |
24 | public EditNumber(Context context) { |
25 | super(context); |
26 | init(); |
27 | } |
28 | |
29 | /** |
30 | * @param context |
31 | * @param attrs |
32 | */ |
33 | public EditNumber(Context context, AttributeSet attrs) { |
34 | super(context, attrs); |
35 | init(); |
36 | } |
37 | |
38 | /** |
39 | * @param context |
40 | * @param attrs |
41 | * @param defStyle |
42 | */ |
43 | public EditNumber(Context context, AttributeSet attrs, int defStyle) { |
44 | super(context, attrs, defStyle); |
45 | init(); |
46 | } |
47 | |
48 | /** |
49 | * Initialization. |
50 | * Set filter. |
51 | * |
52 | */ |
53 | private void init() { |
54 | // DigistKeyListener.getInstance(true, true) returns an |
55 | // instance that accepts digits, sign and decimal point |
56 | final InputFilter[] filters = new InputFilter[] |
57 | { DigitsKeyListener.getInstance(true, true) }; |
58 | setFilters(filters); |
59 | } |
60 | |
61 | public void clear() { |
62 | setText(""); |
63 | } |
64 | |
65 | public void setNumber(double f) { |
66 | super.setText(String.format(DEFAULT_FORMAT, f)); |
67 | } |
68 | |
69 | public double getNumber() { |
70 | Log.d("EditNumber", "getNumber() returning value of '" + getText().toString() + "'"); |
71 | return Double.valueOf(getText().toString()); |
72 | } |
73 | |
74 | } |