2017-02-02 4 views
-1

Моего кода:калькулятора чаевых crased, когда вызов для расчета

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final EditText amt = (EditText) findViewById(R.id.bill_amt); 
    final EditText tip = (EditText) findViewById(R.id.bill_per); 
    final TextView result = (TextView) findViewById(R.id.res); 

    Button calc = (Button) findViewById(R.id.button1); 
    calc.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      double amount = Double.parseDouble(amt.toString()); 
      double tip_per = Double.parseDouble(tip.toString()); 
      double tip_cal = (amount * tip_per)/100; 
      result.setText("Result : " + Double.toString(tip_cal)); 
     } 
    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

} 

пожалуйста исправить ошибку, показанную в этой кодировке андроид студии также показывает предупреждение о Result.text что-то о «использовании ресурсов строки с заполнителем»

i'm following this webpage's tutorial

+0

мы должны видеть ваш трассировки стека –

ответ

2

Вы зафиксируете разобрать EditText в Double Ошибка - amt.toString() и tip.toString(). Что неверно (не обязательно).

Заменить это:

double amount = Double.parseDouble(amt.toString()); 
double tip_per = Double.parseDouble(tip.toString()); 

с этим:

double amount = Double.parseDouble(amt.getText().toString()); 
double tip_per = Double.parseDouble(tip.getText().toString()); 
+0

спасибо брат ты спас мне головную боль ,,, еще одна вещь, что, когда я пытаюсь вычислить 10% из 100000000 результат 1.0e7 ..... почему это ... есть ли какое-либо решение для длинных дегустаций –

+0

Рассмотрите вопрос о принятии ответа и повышении, чтобы поблагодарить меня. Хотя ограничивать пользователя вводить большие значения> 100 000. – W4R10CK