Ввод отрицательного числа (EditText) становится без знака
Я делаю калькулятор длины кабеля, и у меня проблемы с отрицательными числами.
EditTexts такие
<EditText android:layout_height="wrap_content" android:layout_weight="1" android:inputType="numberDecimal|numberSigned" android:layout_width="40px" android:id="@+id/rxmax">
</EditText>
Тогда я использую их так:
final EditText rxmax = (EditText) findViewById(R.id.rxmax);
double RXmax = new Double(rxmax.getText().toString());
После того, как я сделаю простой расчет:
double OPBmax = TXmax - RXmax;
Где-то введенное отрицательное число становится положительным. Я догадываюсь о разговоре с ToString, но ничего не могу найти, как это предотвратить.
2 ответа
Использованиеandroid:digits="0123456789"
EX:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="0123456789"
android:gravity="center"
android:inputType="numberSigned"
android:textColor="@color/black"
android:textSize="@dimen/font_size_small" />
Я пытаюсь это, и это работает...
Деятельность:
double RXmax;
EditText rxmax;
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
rxmax = (EditText) findViewById(R.id.rxmax);
tv = (TextView) findViewById(R.id.text);
}
public void click(View v) {
RXmax = new Double(rxmax.getText().toString());
tv.setText(Double.toString(RXmax));
}
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText android:layout_height="wrap_content"
android:layout_weight="1" android:inputType="numberDecimal|numberSigned"
android:layout_width="40px" android:id="@+id/rxmax">
</EditText>
<TextView android:id="@+id/text" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<Button android:layout_height="wrap_content" android:id="@+id/button1"
android:layout_weight="1" android:text="Button" android:layout_width="wrap_content"
android:onClick="click"></Button>
</LinearLayout>
Если я наберу -2, после нажатия, TextView отобразит -2.0...
Попробуйте в Eclipse Project ->Clean... и выберите свой проект...