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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Mrsuper
0 / 0 / 0
Регистрация: 29.07.2015
Сообщений: 22
#1

Spinner - Программирование Android

06.09.2015, 15:53. Просмотров 295. Ответов 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 (Программирование Android):

spinner - Программирование Android
как реализовать spinner чтобы к выбранной строке соответствовала число. например есть формула A+B+C=Z. A,B - это EditText (с этим все...

Spinner - Программирование Android
подскажите пожалуйста есть такой код... spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { ...

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

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

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

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

6
Vladimirys
309 / 206 / 25
Регистрация: 16.01.2010
Сообщений: 589
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
309 / 206 / 25
Регистрация: 16.01.2010
Сообщений: 589
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
309 / 206 / 25
Регистрация: 16.01.2010
Сообщений: 589
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2015, 20:22
Привет! Вот еще темы с ответами:

Наполнение Spinner из БД - Программирование Android
Подскажите, как наполнить Spinner из БД? В данный момент названия из БД выводятся с помощью отдельного layout и TextView //...

Список из Spinner - Программирование Android
Здравствуйте. Умею работать с Spinner, умею просто с ListView, но умею это делать по отдельность. Пробовал найти что то похожее, нашел...

Java spinner - Программирование Android
Спиннер(выпадающий список) у меня отображает массив из раздела strings.xml. Вопрос: как сделать так, чтобы при выборе элемента спиннера...

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


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
08.09.2015, 20:22
Ответ Создать тему
Опции темы

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