Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
MagomedAina
-2 / 0 / 1
Регистрация: 05.08.2010
Сообщений: 64
1

Android и SeekBar OnSeekBarChangeListener

21.07.2013, 18:11. Просмотров 1751. Ответов 4
Метки нет (Все метки)

Здорова товарищи

у меня на форме есть несколько TextView, EditText и есть еще SeekBar

Код

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
package com.example.tipcalculator;
 
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    private static final String BILL_TOTAL = "BILL_TOTAL";
    private static final String CUSTOM_PERCENT = "CUSTOM_PERCENT";
    
    private double currentBillTotal;
    private int currentCustomPercent;
    
    private EditText tip10EditText;
    private EditText total10EditText;   
    private EditText tip15EditText;
    private EditText total15EditText;
    private EditText tip20EditText;
    private EditText total20EditText;
    
    private EditText billEditText;
    
    private TextView customTipTextView;
    
    private EditText tipCustomEditText;
    private EditText totalCustomEditText;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        if (savedInstanceState == null) {
            
            currentBillTotal = 0.0;
            currentCustomPercent = 18;
            
        } else {
            
            currentBillTotal = savedInstanceState.getDouble(BILL_TOTAL);
            currentCustomPercent = savedInstanceState.getInt(CUSTOM_PERCENT);
            
            tip10EditText = (EditText) findViewById(R.id.tip10EditText);
            total10EditText = (EditText) findViewById(R.id.total10EditText);
            tip15EditText = (EditText) findViewById(R.id.tip15EditText);
            total15EditText = (EditText) findViewById(R.id.total15EditText);
            tip20EditText = (EditText) findViewById(R.id.tip20EditText);
            total20EditText = (EditText) findViewById(R.id.total20EditText);
            
            customTipTextView = (TextView) findViewById(R.id.customTipTextView);
            
            tipCustomEditText = (EditText) findViewById(R.id.tipCustomEditText);
            totalCustomEditText = (EditText) findViewById(R.id.totalCustomEditText);
            
            billEditText = (EditText) findViewById(R.id.billEditText);
            
        //  billEditText.addTextChangedListener(billEditTextWatcher);
            final SeekBar customSeekBar = (SeekBar) findViewById(R.id.customSeekBar);
            customSeekBar.setOnSeekBarChangeListener(customSeekBarListener);            
        }
    }
 
    
    private TextWatcher billEditTextWatcher = new TextWatcher() {
        
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
        
        }
        
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
        
        }
        
        @Override
        public void afterTextChanged(Editable s) {
            
        }
    };
    
    
    private SeekBar.OnSeekBarChangeListener customSeekBarListener = new SeekBar.OnSeekBarChangeListener() {
        
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {  
            
        }
        
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {         
            
        }
        
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                boolean fromUser) {
            //currentCustomPercent = seekBar.getProgress();
            customTipTextView.setText(String.valueOf(seekBar.getProgress()));
            //updateCustom();
        }
    };  
    
    
    private void updateStandart() {
        
 
        double tenPercentTip = currentBillTotal * .1;
        double tenPercentTotal = currentBillTotal + tenPercentTip;
        
        tip10EditText.setText(String.format(" %0.2f", tenPercentTip));
        total10EditText.setText(String.format(" %0.2f", tenPercentTotal));
        
        double fifteenPercentTip = currentBillTotal * .15;
        double fifteenPercentTotal = currentBillTotal + fifteenPercentTip;
        
        tip15EditText.setText(String.format(" %0.2f", fifteenPercentTip));
        total15EditText.setText(String.format(" %0.2f", fifteenPercentTotal));      
        
        double twentyPercentTip = currentBillTotal * .20;
        double twentyPercentTotal = currentBillTotal + twentyPercentTip;
        
        tip20EditText.setText(String.format(" %0.2f", twentyPercentTip));
        total20EditText.setText(String.format(" %0.2f", twentyPercentTotal));       
        
    }
    
    private void updateCustom() {
        
        customTipTextView.setText(currentCustomPercent+"%");
        
        double customTipAmount = currentBillTotal * currentCustomPercent * .01;
        double customTotalAmount = currentBillTotal + customTipAmount;
        
        tipCustomEditText.setText(String.format(" %0.2f", customTipAmount));
        totalCustomEditText.setText(String.format(" %0.2f", customTotalAmount));
        
    }
    
    
    
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        
        outState.putDouble(BILL_TOTAL, currentBillTotal);
        outState.putInt(CUSTOM_PERCENT, currentCustomPercent);
        
    }
 
    
 
}
У меня никак не срабатывает следующий участок кода

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private SeekBar.OnSeekBarChangeListener customSeekBarListener = new SeekBar.OnSeekBarChangeListener() {
        
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {  
            
        }
        
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {         
            
        }
        
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                boolean fromUser) {
            //currentCustomPercent = seekBar.getProgress();
            customTipTextView.setText(String.valueOf(seekBar.getProgress()));
            //updateCustom();
        }
    };
То есть при прокрутке SeekBar у меня должно меняться значение в TextView, а оно никак не меняется, что не так?

P.S: Я новичок в программировании под Android
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2013, 18:11
Ответы с готовыми решениями:

SeekBar thumb
Здравствуйте, я наверноє немного поднадоел со своими елементарними...

Кастомизация SeekBar?
Добрый день! нужно кастомизировать seekbar, знаю (видел) много примеров, но...

SeekBar и Arduino
Здравствуйте! Помогите реализовать:при нажатии кнопки происходит передача...

ScroolView срабатывает по событиям SeekBar
Есть SeekBar который имеет вид часов, и он находится в ScroolView при попытке...

SeekBar - движение по заданным значениям
Всем привет. Не смог найти нормального материала по рботе с SeekBar Можете...

4
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
21.07.2013, 18:49 2
Посмотрите эту статью http://developer.alexanderklimov.ru/android/views/seekbar.php
0
MagomedAina
-2 / 0 / 1
Регистрация: 05.08.2010
Сообщений: 64
21.07.2013, 18:54  [ТС] 3
Как раз я это смотрел, почти все так же. Но у меня никак не получается.
Не пойму где ошибка
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.07.2013, 19:10 4
может у вас else не сработал?
0
MagomedAina
-2 / 0 / 1
Регистрация: 05.08.2010
Сообщений: 64
21.07.2013, 19:42  [ТС] 5
Все разобрался, спасибо...
Тему можно закрыть
0
21.07.2013, 19:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2013, 19:42

Как поменять цвет seekBar?
Background меняет фон, foreground вообще никаких изменений. Хочу поменять сам...

Отследить положение на экране ползунка из SeekBar
Подскажите, возможно ли это реализовать. Задача такая: отследить положение...

Установить кастомный thumb на seekBar по цетру
Добрый день. Вопрос по seekBar'у (слайдер). Я изменяю в ходе работы...


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

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

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