Если заявления вызывают сбой приложения - PullRequest
1 голос
/ 10 ноября 2011

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

    package improvecredit.app.basic;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.text.Editable;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;

public class ImprovrCreditBasicActivity extends Activity {
/** Called when the activity is first created. */
public int minCredScore = 300;
public int maxCredScore = 850;
public int inputScore;
public int idealScore;

public Editable inputString;
public Editable idealString;

public EditText user;
public EditText desired;
public TextView output;

public Button submit;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    user = (EditText) findViewById(R.id.user_text);
    desired = (EditText) findViewById(R.id.desired_text);
    output = (TextView) findViewById(R.id.output_text);
    submit = (Button) findViewById(R.id.submit_button); 

    //submit.setOnClickListener(new View.OnClickListener());

    submit.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            //inputString = user.getText();
            //idealString = desired.getText();

            inputScore = Integer.getInteger(user.getText().toString());
            idealScore = Integer.getInteger(desired.getText().toString());

            if (inputScore >= 0 && idealScore >= 0){

                if (inputScore < minCredScore || idealScore < minCredScore){
                    output.setText("Invalid Entries");
                }
                if (inputScore > maxCredScore || idealScore > maxCredScore){
                    output.setText("Invalid Entries");
                }
                if (inputScore > idealScore){
                    output.setText("Nice Credit Score!");
                }
                if (inputScore < idealScore){
                    output.setText("For more information on how to improve your credit score, please visit" + "/n" + "http://www.creditscoresandcredit.com/");
                }
            }
            else{
                output.setText("Please enter valid credit scores");
            }
        }
    });         
}

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

Ответы [ 2 ]

3 голосов
/ 10 ноября 2011

На первый взгляд, не используйте Integer.getInteger (), используйте Integer.parseInt ().

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

0 голосов
/ 10 ноября 2011

Держу пари, что введено нулевое значение. Если вы проверите значение null, прежде чем использовать переменные idealScore и inputScore в операторе If, это позволит избежать этой ошибки. Пока вы не вставите трассировку ошибок, мы можем только догадываться за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...