Мой калькулятор процентных ставок на Android продолжает падать - PullRequest
1 голос
/ 11 февраля 2012
package dum.de.dum;

import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;

нормальный импорт?

public class CalcActivity extends Activity {


    Button finish;
    double total;
    double interest2;
    double time2;
    double base2;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {




        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        finish = (Button) findViewById(R.id.total);
        finish.setOnClickListener(new OnClickListener(){
            public void onClick(View V) {

                EditText base;
                base = (EditText) findViewById(R.id.base);
                String baseValue = base.getText().toString();
                double BaseNum = Double.parseDouble(baseValue);

                EditText interest;
                interest = (EditText) findViewById(R.id.interest);
                String interestValue = interest.getText().toString();
                double interestNum = Double.parseDouble(interestValue);

                EditText time;
                time = (EditText) findViewById(R.id.time);
                String timeValue = time.getText().toString();
                double timeNum = Double.parseDouble(timeValue);

                double total = BaseNum * Math.pow(interestNum + 1, timeNum);        

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

        EditText Output;
        Output = (EditText) findViewById(R.id.total);
        Output.setText("Your total is: " + total);

        };

    });
}
}

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

Ответы [ 4 ]

3 голосов
/ 11 февраля 2012
finish = (Button) findViewById(R.id.total);

Идентификатор вашей кнопки finish не R.id.total - это EditText согласно этому ...

Output = (EditText) findViewById(R.id.total);

Вы получите ClassCastExceptionпри попытке найти кнопку по этому идентификатору.

2 голосов
/ 11 февраля 2012

Попробуйте заменить

Output.setText("Your total is: " + total);

на:

Output.setText("Your total is: " + String.valueOf(total));
0 голосов
/ 27 октября 2018

Вы также должны показать нам файл макета Xml, потому что сначала вы используете финиш как кнопку, а затем назначаете текст для редактирования кнопки.R.id.total - это кнопка в XML-файле или текст редактирования, если ее кнопка должна использовать идентификатор поля edittext вместо их в

Output = (EditText) findViewById(R.id.(edittext button id));

, тогда значение будет отображаться в текстовом поле редактирования.

0 голосов
/ 11 февраля 2012

Вы можете увидеть ошибку, открыв представление в eclipse с помощью меню-> window-> showView-> logcat,

Как видно из вашего описания, это приложение вылетает при запуске действия, проблемная областьбыть:

finish = (Button) findViewById(R.id.total);
        finish.setOnClickListener(new OnClickListener(){

проверить один раз в main.xml идентификатор кнопки указан как-> android: id / total

...