Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
1

Spinner

06.09.2015, 15:53. Просмотров 368. Ответов 6
Метки нет (Все метки)

В ответе выдает 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); //выводит ответ
            }
 
        });
 
 
 
    }
 
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2015, 15:53
Ответы с готовыми решениями:

Spinner
подскажите пожалуйста есть такой код... spinner.setOnItemSelectedListener(new...

Spinner
Доброго времени суток! Можно ли сделать так чтобы при выборе одного из вариантов спиннера...

spinner
как реализовать spinner чтобы к выбранной строке соответствовала число. например есть формула...

Spinner
кто знает как сделать так чтобы при выборе пункта из Spinner выполнялся отдельный кусок кода? в...

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

6
Vladimirys
318 / 213 / 29
Регистрация: 16.01.2010
Сообщений: 621
06.09.2015, 19:12 2
Для начала, нужно сделать для каждой перемеренной, свой try/catch, а не общий для трех. А то у вас, к примеру ошибка с одной переменной, а в итоге, все 3, равны 0. Непонятно где искать. Так как у вас сложение, в ответе будет видно.
0
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
06.09.2015, 20:05  [ТС] 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); //выводит ответ
            }
 
        });
 
 
 
    }
 
 
}
Вот исправленный код
0
Vladimirys
318 / 213 / 29
Регистрация: 16.01.2010
Сообщений: 621
07.09.2015, 01:17 4
А зачем вы парсите A? Она и так у вас объявлена как double.
1
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
07.09.2015, 19:09  [ТС] 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); //выводит ответ
            }
 
        });
 
 
 
    }
 
 
}
0
Vladimirys
318 / 213 / 29
Регистрация: 16.01.2010
Сообщений: 621
08.09.2015, 20:14 6
Ох у вас и код Зачем Spinner объявили, а потом еще раз переообъявили? (упрощенно говоря)
Уберите. Так в целом вроде должно работать.
P.S. Для справки, вы сначала должны выбрать значение спиннера, потом жать кнопку.
0
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
08.09.2015, 20:22  [ТС] 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);
так исправить?
0
08.09.2015, 20:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2015, 20:22

spinner в ListView
в каждой строке ListView есть текст и спинер указывающий какое то значение. два дня сижу не могу...

проблема со Spinner'ом
Добрый день подскажите где может быть ошибка ... import java.util.ArrayList; import...

Custom Spinner
Не могли бы вы мне рассказать, как реализовать Spinner, такой как на картинке. Сверху заголовок,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru