我的代碼看起來很簡單,我不知道是什麼問題。如果我的代碼是這樣的:IF語句不適用於TextWatcher
tvResult.setText(sum+ "RUB");
它顯示正確的數字。但是,如果我嘗試添加這樣的IF語句:
if(sum>=114000) {
tvResult.setText(sum + " RUB");
}
和總和等於,比如說1000000,它顯示奇怪的數字:1111111.0。需要你的意見=)預先感謝
下面是XML代碼:
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:id="@+id/tvCash"
android:layout_below="@id/tvCalculate"
android:hint="@string/cash_money"
android:background="@drawable/zakat_red"
android:layout_marginTop="20dp"/>
<EditText
android:layout_width="130dp"
android:layout_height="40dp"
android:id="@+id/etCash"
android:inputType="numberDecimal"
android:layout_above="@+id/tvBank"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:hint="@string/hint_zakat"
android:gravity="end"
android:imeOptions="actionDone"/>
和Java代碼:
TextWatcher twCash=new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
tvCash.setBackgroundResource(R.drawable.zakat_green);
sum+=Float.valueOf(etCash.getText().toString());
if(sum>=114000) {
tvResult.setText(sum + " RUB");
}
}
};
你的意思是說,如果你刪除if(sum> = 114000),那麼你在'tvResult'中看不到小數? –
沒有。如果我刪除if(sum> = 114000),那麼它顯示正確的數字。但我需要這個聲明以備將來使用。用這個聲明它顯示不正確的數字。如果總和== 1000000,那就說明總和== 1111111 – lememele