2015-05-03 2 views
0

Я работаю над калькулятором, и у меня возникли некоторые проблемы с ним. Когда я пытаюсь запустить программу, нормально показать первый экран, чтобы я мог ввести номер (в ситуации, когда я проигнорировал последний 2-й код setText для результата). После того, как я поместил данные в поля Edittext и нажал кнопку, он будет остановлен (к сожалению приложение остановлено)Как вызвать результат из другого метода в той же деятельности в Android

Код, показанный ниже, является методом, который будет вызываться, когда я нажимаю кнопку после вся информация заполняется, и у меня есть формула, созданная по другому методу отдельно (переменная totalCost и profit).

Я не уверен, что это правильный путь, чтобы присвоить результат из другого метода переменных, и не знает, почему метод ToString() в setText не работает (ошибка о том, что дважды не может быть разыменовываются)

Вот код исх:

public void sendInput(View view) { 
    EditText editTextPurPrice = (EditText) findViewById(R.id.editText_PP); 
    EditText editTextSelPrice = (EditText) findViewById(R.id.editText_SP); 
    EditText editTextStkQty = (EditText) findViewById(R.id.editText_QTY); 
    EditText editTextLotSize = (EditText) findViewById(R.id.editText_LS); 
    TextView resultTTCost = (TextView) findViewById(R.id.resultTTCost); 
    TextView resultProfit = (TextView) findViewById(R.id.resultProfit); 

    Double msgPurPrice = Double.parseDouble(editTextPurPrice.getText().toString()); 
    Double msgSelPrice = Double.parseDouble(editTextSelPrice.getText().toString()); 
    int msgStkQty = Integer.parseInt(editTextStkQty.getText().toString()); 
    int msgLotSize = Integer.parseInt(editTextLotSize.getText().toString()); 

    double totalCost = getTotalCost(msgPurPrice, msgSelPrice, msgStkQty, msgLotSize); 
    double profit = getProfit(msgPurPrice, msgSelPrice, msgStkQty, msgLotSize); 

    resultTTCost.setText(totalCost.toString()); 
    resultProfit.setText(profit.toString()); 
} 

Надежда кто-то может помочь мне ...

+1

Если у вас есть аварии, скопировав паста LogCat –

ответ

1
resultTTCost.setText(String.valueOf(totalCost)); 
resultProfit.setText(String.valueOf(profit)); 

Вы должны преобразовать двойной строки. Другой РЕАЛИЗАЦИЯ, как это:

double aDouble = 0.11; 
String aString = Double.toString(aDouble); 
+0

Оценка! ответ полезен и вдохновлен. После этого я также выясню, почему метод toString() не работает в setText в моем случае. – TroyKC

+0

@TroyKC, если было полезно отметить правильный ответ, тогда приятель !! – Jana

3

Проблема ıA setext она должна как ниже

resultTTCost.setText(""+totalCost); 
    resultProfit.setText(""+profit); 

Или

resultTTCost.setText(String.valueOf(totalCost)); 
    resultProfit.setText(String.valueOf 
+0

Пустая строка конкатенации рассматривается как плохой стиль кодирования! – Karuma

+0

Оценка! ответ полезен и вдохновлен – TroyKC

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