Я новачок в Android App Dev: я отримую силу закрити весь час

Нещодавно я тільки почав навчитися розробляти андроїд-додатки. Я досить добре володію Java, але я все ще намагаюся зачепити Android та xml матеріали.

Отже, спасибі за допомогу заздалегідь: D!

Зараз я просто намагаюся створити програму, яка має віджет EditText і кнопку. Наразі все, що робить мій код, - це створити OnClickListener для кнопки і визначити метод OnClick. Я поняття не маю, чому це сила закриття. Раніше я експериментував з кількома невеликими програмами (в основному експериментуючи з кнопками), і я також мав цю проблему кілька разів, тому я не думаю, що він унікальний для цього коду.

Ось код:

public class AdditionActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Toast.makeText(AdditionActivity.this, "Welcome to Addition Helper!", Toast.LENGTH_SHORT).show();

        final EditText answerBox = (EditText) findViewById(R.id.answerBox);
        final Button button = (Button) findViewById(R.id.button);
        final TextView problem = (TextView) findViewById(R.id.problem);
//        
        //problem.setText("5+4");

        button.setOnClickListener(new OnClickListener()
        {
            public void onClick(View v)
            {
                Toast.makeText(AdditionActivity.this, "Started", Toast.LENGTH_SHORT);
                String temp = problem.getText().subSequence(0, 1).toString();
                int first = Integer.parseInt(temp);
                temp = problem.getText().subSequence(2,3).toString();
                int second = Integer.parseInt(temp);
                int answer = first + second;
                if(Integer.parseInt(answerBox.getText().toString()) == answer) 
                    Toast.makeText(AdditionActivity.this, "Correct!!!!!", Toast.LENGTH_SHORT);
                else
                    Toast.makeText(AdditionActivity.this, "WRONG", Toast.LENGTH_SHORT);
            }
        });
    }
}

Так що, якщо хто-небудь знає, чому новачок може отримати часті сили закривається, або якщо я роблю щось не так з моїм кодом, це було б здорово! У моєму файлі xml макета все, що у мене є віджет EditText, віджет TextView і кнопка.

Ще раз спасибі за ваш час, я дуже ціную це.

0
Вихід logcat скаже вам, що викликає силу закриття. Натисніть на DDMS в eclipse, потім шукайте вкладку logcat.
додано Автор Steve Blackwell, джерело
Коли це змушує закривати? Перш ніж ви зможете побачити інтерфейс користувача або натиснути кнопку, або щось інше?
додано Автор confusedKid, джерело

1 Відповіді

Я припускаю, що ваш сценарій буде ввести 1 + 1 в EditText, натисніть кнопку і отримайте результат, показаний у TextView. отже,

Це неправильно: EditText answerBox і проблема TextView
Це правильно: проблема EditText і TextView answerBox

force close в основному через NullPointerException або ArrayIndexOutofBoundException з цього рядка:

String temp = problem.getText().subSequence(0, 1).toString();
0
додано
Як ви заповнюєте проблему textview спочатку, через xml або програму? Я бачу, що ви коментуєте problem.setText ("5 + 4"); якщо textview не має нічого, то problem.getText() повертає порожній рядок, ви отримуєте ArrayIndexOutofBoubdException, коли підставляння (0,1) порожній рядок.
додано Автор yorkw, джерело
Як хтось вже запропонував, якщо ви використовуєте Eclipse, logcat може сказати все, натисніть Window -> Open Prespective -> DDMS.
додано Автор yorkw, джерело
Ні, ви повинні отримати запитання про довільне додавання, а потім покласти у відповідь, він повідомить вам, чи номер, який ви ввели, є правильним. Не могли б Ви детально розповісти про виняток NullPointerException або ArrayIndexOutofBoundException? ДЯКУЮ
додано Автор bhsu, джерело
У ресурсах я створив рядок і поклав цей рядок у проблему TextView. Після того, як користувач ввів відповідь, я зміню тексту в TextView. Отже, не повинно бути помилки?
додано Автор bhsu, джерело
ІТ КПІ - Java
ІТ КПІ - Java
436 учасників

android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.