2013-07-30 2 views
0

Хорошо Так что я хочу, чтобы добавить эту кнопку +/- для изменения знака числа в настоящее время отображается в окне результатов (An EditText Component)Добавление кнопки +/- в мой калькулятор? - Android

Вот OnClick Funciton на кнопку нажатии кнопки:

public void onClickListenerPM(View v) { 
    vibrator.vibrate(30); 
    if (press == '=') { 
     onClickListenerReset(buttonReset); 
    } 

    double masag = -1 * Double.parseDouble(EditTextMsg); 
    String s = Double.toString(masag); 
    editText.setText(s); 
} 

что я сделал это Взятые строку из вида EditText ---> сделал это в двойной ---> Reverse, положи в строку снова, так что знак независимо от числа обратного. ---> Покажите это в виде edittext.

Но всякий раз, когда я нажимаю кнопку, приложение силы Закрывает ...

Что происходит не так? Я думаю, что логика правильная, но, скорее всего, преобразования приводят к сбою функции. (Не уверен, хотя)

Можете ли вы заметить что-нибудь, что может быть причиной этого?

(Это определено в классе деятельности, очевидно ...)

EDIT: Ответ:. EditTextMsg = editText.getText() ToString();

забыл добавить -.-

ответ

2

Вы не отвечал, как вы извлекли значение EditText String. Вы использовали ...

EditText edit = (EditText)findViewById(R.id.edit_text_id); 
String editTextMsg = edit.getText().toString(); 

... toString Важен здесь! И я предпочел бы использовать Double.toString() чем toString(double):

Double masag = -1 * Double.valueOf(editTextMsg); 
String s = masag.toString(); 

здесь. Надеюсь, это поможет ...

Cheers!

+0

Ohh Shoot, оказывается, я не обновлял строку EditTextMsg, поэтому он не мог узнать, что * я пытался конвертировать ... Получил это прямо сейчас! –

Смежные вопросы