Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
-
Ilyatoon
- Сообщения: 8
- Зарегистрирован: 17 окт 2012, 09:30
Сообщение
Ilyatoon » 17 окт 2012, 09:36
Здравстуйте,
Я только начинаю заниматься изучением android, но я уже стараюсь писать небольшие приложения. Я хочу создать приложение, которые будут спрашивать известные вам значения сторон прямоугольного треугольника, и находить неизвестную сторону(нужно вести известные значения в определённые поля, а неизвестные оставить пустыми)Но при тестирования на эмуляторе, при нажатии кнопки появляется ошибка:"the application has stopped unexpectedly".Можете помочь, и что не так с кодом приложения
Заранее спасибо!
Код: Выделить всё
package ololo.pakage.com.ru;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity implements android.view.View.OnClickListener {
EditText e1;
EditText e2;
EditText e3;
Button button1;
TextView result;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// находим элементы
e1 = (EditText) findViewById(R.id.e1);
e2 = (EditText) findViewById(R.id.e2);
e3 = (EditText) findViewById(R.id.e3);
button1 = (Button) findViewById(R.id.button1);
result = (TextView) findViewById(R.id.result);
// прописываем обработчик
button1.setOnClickListener(this);
}
@Override
// TODO Auto-generated method stub
public void onClick(View v) {
// TODO Auto-generated method stub
double n1 = 0;
double n2 = 0;
double n3 = 0;
n1 = Float.parseFloat(e1.getText().toString());
n2 = Float.parseFloat(e2.getText().toString());
n3 = Float.parseFloat(e3.getText().toString());
switch (v.getId()) {
case R.id.button1:
if (e1.getText().toString().equals("")){
n1=Math.sqrt(n3*n3-n2*n2);
result.setText("a="+n1);
}
else if (e2.getText().toString().equals("")){
n2 =Math.sqrt(n3*n3-n1*n1);
result.setText("B="+n2);
}
else if (e3.getText().toString().equals("")){
n3 =Math.sqrt(n1*n1+n2*n2);
result.setText("c="+n3);
}
else {
result.setText("неверно занчение, или недостаточно данных");
}
default:
break;
}
}
}
-
KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Сообщение
KamiSempai » 17 окт 2012, 09:56
"the application has stopped unexpectedly" говорит лишь о том, что приложение было закрыто. Напишите подробно, что пишет в логах.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
-
Ilyatoon
- Сообщения: 8
- Зарегистрирован: 17 окт 2012, 09:30
Сообщение
Ilyatoon » 17 окт 2012, 10:05
KamiSempai писал(а):"the application has stopped unexpectedly" говорит лишь о том, что приложение было закрыто. Напишите подробно, что пишет в логах.
При нажатии на конпку появляется "The application 1 (process ololo.pakage.com.ru) has stopped unexpectedly.Please try again"
1 - название приложение
process ololo.pakage.com.ru- pakage name
-
Вложения
-

- error.JPG (21.57 КБ) 10915 просмотров
Последний раз редактировалось
Ilyatoon 17 окт 2012, 10:07, всего редактировалось 1 раз.
-
rezak90
- Сообщения: 3422
- Зарегистрирован: 26 июн 2012, 13:22
- Откуда: UA
-
Контактная информация:
Сообщение
rezak90 » 17 окт 2012, 10:07
Он имел в виду что пишется в логе ошибок в Eclips'e. Откройте LogCat и посмотрите, а лучше содержимое сюда скопируйте.
R.id.team
Политика на форуме запрещена
-
Ilyatoon
- Сообщения: 8
- Зарегистрирован: 17 окт 2012, 09:30
Сообщение
Ilyatoon » 17 окт 2012, 10:18
Вот. Скопировать не смог, а скриншот сделал.
-
Вложения
-

- error1.JPG (119.94 КБ) 10915 просмотров
-
rezak90
- Сообщения: 3422
- Зарегистрирован: 26 июн 2012, 13:22
- Откуда: UA
-
Контактная информация:
Сообщение
rezak90 » 17 окт 2012, 10:24
о чём говорит NumberFormatException? О том что не может спарсить в float. Такие ошибки нужно отлавливать в коде.
R.id.team
Политика на форуме запрещена
-
Ilyatoon
- Сообщения: 8
- Зарегистрирован: 17 окт 2012, 09:30
Сообщение
Ilyatoon » 17 окт 2012, 14:01
rezak90 писал(а):о чём говорит NumberFormatException? О том что не может спарсить в float. Такие ошибки нужно отлавливать в коде.
Я менял тип на double и integer, но всё равно вылезает эта ошибка
-
rezak90
- Сообщения: 3422
- Зарегистрирован: 26 июн 2012, 13:22
- Откуда: UA
-
Контактная информация:
Сообщение
rezak90 » 17 окт 2012, 14:16
она и будет вылезать так как если там не double а например "hello world" то как оно спарсит в double? вот и выскакивает ошибка. Просто не верный тип вводите в EditText.
R.id.team
Политика на форуме запрещена
-
Ilyatoon
- Сообщения: 8
- Зарегистрирован: 17 окт 2012, 09:30
Сообщение
Ilyatoon » 17 окт 2012, 14:40
rezak90 писал(а):она и будет вылезать так как если там не double а например "hello world" то как оно спарсит в double? вот и выскакивает ошибка. Просто не верный тип вводите в EditText.
Если поменять Edittext c number на numder(Decimal), то ошибка пропадёт?
-
rezak90
- Сообщения: 3422
- Зарегистрирован: 26 июн 2012, 13:22
- Откуда: UA
-
Контактная информация:
Сообщение
rezak90 » 17 окт 2012, 14:52
если будете вводить только вещественные числа то да. Вы поняли в чём ошибка то? или пальцем в небо?
R.id.team
Политика на форуме запрещена
-
Ilyatoon
- Сообщения: 8
- Зарегистрирован: 17 окт 2012, 09:30
Сообщение
Ilyatoon » 17 окт 2012, 15:02
rezak90 писал(а):если будете вводить только вещественные числа то да. Вы поняли в чём ошибка то? или пальцем в небо?
Ну я понял, почти. Я же говорил что новичок
-
Ilyatoon
- Сообщения: 8
- Зарегистрирован: 17 окт 2012, 09:30
Сообщение
Ilyatoon » 17 окт 2012, 15:51
а можно, чтобы в edittext(number decimal), после запятой не 1 цифра была, а несколько?