Форум программистов, компьютерный форум CyberForum.ru

Spinner - Android

Восстановить пароль Регистрация
 
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 21
06.09.2015, 15:53     Spinner #1
В ответе выдает 0, что исправить?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
 
 
public class MainActivity extends Activity {
    double pos, A,a,b,d;//
    EditText text1,text2;
    TextView textOtv;
    Spinner spin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.activity_main);
 
        textOtv = (TextView) findViewById(R.id.textView);//ответ
        text1 = (EditText) findViewById(R.id.editText);
        text2 = (EditText) findViewById(R.id.editText2);
        spin = (Spinner) findViewById(R.id.spinner);//спиннер
 
 
        final Spinner spin = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.Mat, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin.setAdapter(adapter);
        pos = spin.getSelectedItemPosition();
 
        if (pos == 0) {
 
            A = 1;
 
        }
        if (pos == 1) {
            A = 1.434;
 
        }
        if (pos == 2) {
 
            A = 2.5;
        }
        final Button button1 = (Button) findViewById(R.id.button);
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                try {
                    a = Double.parseDouble(spin.getContext().toString());//едиттекст1
                    b = Double.parseDouble(spin.getContext().toString());//едиттекст2
                    A = Double.parseDouble(spin.getContext().toString());//спиннер здесь выбрал на угат
                } catch (NumberFormatException e) {
                    a = 0;
                    b = 0;
                    A = 0;
                }
                d = a+b+A;//решения а=EditText1 b=EditText2 ss=Spinner т.е.не слова и соответствующая к слове цифра
                textOtv.setText(" "+d); //выводит ответ
            }
 
        });
 
 
 
    }
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2015, 15:53     Spinner
Посмотрите здесь:

элемент spinner Android
Android Кастомизация Spinner
Android проблема со Spinner'ом
Android spinner в ListView
Android быстрый Spinner
Наполнение Spinner из БД Android
Android Список из Spinner
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimirys
292 / 189 / 19
Регистрация: 16.01.2010
Сообщений: 527
06.09.2015, 19:12     Spinner #2
Для начала, нужно сделать для каждой перемеренной, свой try/catch, а не общий для трех. А то у вас, к примеру ошибка с одной переменной, а в итоге, все 3, равны 0. Непонятно где искать. Так как у вас сложение, в ответе будет видно.
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 21
06.09.2015, 20:05  [ТС]     Spinner #3
Проблема в А, но какая не знаю
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
 
 
public class MainActivity extends Activity {
    double pos, A,a,b,d;//
    EditText text1,text2;
    TextView textOtv;
    Spinner spin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.activity_main);
 
        textOtv = (TextView) findViewById(R.id.textView);//ответ
        text1 = (EditText) findViewById(R.id.editText);
        text2 = (EditText) findViewById(R.id.editText2);
        spin = (Spinner) findViewById(R.id.spinner);//спиннер
 
 
        final Spinner spin = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.Mat, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin.setAdapter(adapter);
        pos = spin.getSelectedItemPosition();
 
        if (pos == 0) {
 
            A = 1;
 
        }
        if (pos == 1) {
            A = 1.434;
 
        }
        if (pos == 2) {
 
            A = 2.5;
        }
        final Button button1 = (Button) findViewById(R.id.button);
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                try {
                    a = Double.parseDouble(text1.getText().toString());//едиттекст1
                } catch (NumberFormatException e) {
                    a = 0;}
                    try {
                    b = Double.parseDouble(text2.getText().toString());//едиттекст2
                    } catch (NumberFormatException e) {
                        b = 0;
                    }
                        try {
                    A = Double.parseDouble(spin.getContext().toString());//спиннер здесь выбрал на угат
                        } catch (NumberFormatException e) {
                            A = 0;
                }
                d = a+b+A;//решения а=EditText1 b=EditText2 ss=Spinner т.е.не слова и соответствующая к слове цифра
                textOtv.setText(" "+d); //выводит ответ
            }
 
        });
 
 
 
    }
 
 
}
Вот исправленный код
Vladimirys
292 / 189 / 19
Регистрация: 16.01.2010
Сообщений: 527
07.09.2015, 01:17     Spinner #4
А зачем вы парсите A? Она и так у вас объявлена как double.
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 21
07.09.2015, 19:09  [ТС]     Spinner #5
Теперь считает только 1 число, всегда, т.е. чтобы я не выбрал он считает 1.8
Код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
 
 
public class MainActivity extends Activity {
    double pos, A,a,b,d;//
    EditText text1,text2;
    TextView textOtv;
    Spinner spin;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.activity_main);
 
        textOtv = (TextView) findViewById(R.id.textView);//ответ
        text1 = (EditText) findViewById(R.id.editText);
        text2 = (EditText) findViewById(R.id.editText2);
        spin = (Spinner) findViewById(R.id.spinner);//спиннер
 
 
        final Spinner spin = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.Mat, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spin.setAdapter(adapter);
        pos = spin.getSelectedItemPosition();
 
        if (pos == 0) {
 
            A = 1.8;
 
        }
        if (pos == 1) {
            A = 1.434;
 
        }
        if (pos == 2) {
 
            A = 2.5;
        }
        final Button button1 = (Button) findViewById(R.id.button);
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                try {
                    a = Double.parseDouble(text1.getText().toString());//едиттекст1
                } catch (NumberFormatException e) {
                    a = 0;}
                    try {
                    b = Double.parseDouble(text2.getText().toString());//едиттекст2
                    } catch (NumberFormatException e) {
                        b = 0;
                    }
                d = a+b+A;//решения а=EditText1 b=EditText2 ss=Spinner т.е.не слова и соответствующая к слове цифра
                textOtv.setText(" "+d); //выводит ответ
            }
 
        });
 
 
 
    }
 
 
}
Vladimirys
292 / 189 / 19
Регистрация: 16.01.2010
Сообщений: 527
08.09.2015, 20:14     Spinner #6
Ох у вас и код Зачем Spinner объявили, а потом еще раз переообъявили? (упрощенно говоря)
Уберите. Так в целом вроде должно работать.
P.S. Для справки, вы сначала должны выбрать значение спиннера, потом жать кнопку.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2015, 20:22     Spinner
Еще ссылки по теме:

Spinner внутри ListView Android
Spinner элементы Android
Android Spinner и NavigationDrawer
Android По поводу элемента (Spinner)
Android Заполнение spinner из массива

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 21
08.09.2015, 20:22  [ТС]     Spinner #7
Тоже самое
Java
1
2
3
4
5
 textOtv = (TextView) findViewById(R.id.textView);//ответ
        text1 = (EditText) findViewById(R.id.editText);
        text2 = (EditText) findViewById(R.id.editText2);
 
        final Spinner spin = (Spinner) findViewById(R.id.spinner);
так исправить?
Yandex
Объявления
08.09.2015, 20:22     Spinner
Ответ Создать тему
Опции темы

Текущее время: 02:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru