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

Сохранение положения seekbar (не сохраняет прогресс при повторном обращении)

03.05.2017, 22:29. Просмотров 489. Ответов 13
Метки нет (Все метки)

Добрый вечер, возник еще один вопрос:
Как в SeekBar сохранить прогресс на ползунке, после повторного обращения к приложению, он находится в максимальном положении, хотя должен отображать свое последнее состояние, тк оно дублируется в textView и сам seekbar ссылается на это textView/ Подскажите, что здесь неправильно?

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
    TextView textView;
    SeekBar seekBar;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.activity_main);
 
        seekBar = (SeekBar) findViewById(R.id.seekBar);
        textView = (TextView) findViewById(R.id.textView);
        seekBar.setMax(200);
 
 
 
        seekBar.setProgress(R.id.textView); !!!!!!!!!!!!!!!!!!(ссылается на изменяемое textView, но не фиксирует это положение)
 
 
 
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                textView.setText(String.valueOf(progress));
 
            }
 
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
 
            }
 
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
 
            }
 
        });
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2017, 22:29
Ответы с готовыми решениями:

Чек большого количества togglebutton при прогрессе seekBar тормозит
Суть проблемы: есть 81 togglebutton у которых меняется background при помощи...

Не выводится результат при повторном обращении
Добрый день! Подскажите, пожалуйста, с одной проблемой... Запускаю скрипт from...

При повторном обращении к файлу выдается ошибка
Нужно открыть файл, прочитать из него, после выполнить некоторые действия,...

Дубликация данных при повторном обращении к серверу
при повторном обращении к серверу данные дублируются если обратится в третий...

При повторном обращении к объекту меняется его содержимое
Добрый день! У меня такая странная проблема: есть две одинаковые строчки кода...

13
ExFau$t
568 / 512 / 115
Регистрация: 08.05.2012
Сообщений: 2,549
03.05.2017, 23:42 2
Мдаа... Если очень коротко, ибо я устал, то ты передаёшь в прогресс не прогресс, а id текствью, очевидно, он больше 200.
2
MSC2
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 12
04.05.2017, 00:50  [ТС] 3
В этом понятно, извиняюсь за дилетантский вопрос, но как передать значение моего текствью в виде числа? Я пытался сослаться на переменную текствью, тоже не работает, в этом случае прогресс остается на нуле.
0
ExFau$t
568 / 512 / 115
Регистрация: 08.05.2012
Сообщений: 2,549
04.05.2017, 01:44 4
Не знаю, что у тебя там, но как-то так:
Java
1
seekBar.setProgress(Integer.parseInt(textview.getText().toString()));
При соблюдении пары условий должно работать.
0
_Night_Scream_
80 / 77 / 11
Регистрация: 08.08.2013
Сообщений: 631
04.05.2017, 07:56 5
не забываем обернуть в try catch
0
MSC2
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 12
04.05.2017, 23:09  [ТС] 6
Цитата Сообщение от ExFau$t Посмотреть сообщение
Integer.parseInt(textview.getText().toString()))
В общем это почему-то не работает,

Делал так:

Java
1
2
3
4
5
6
7
8
9
10
11
  seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
 
 
 
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
 
                    textView.setText(String.valueOf(progress));
                    seekBar.setProgress(Integer.parseInt(textView.getText().toString()));
 
            }


Условия прописывал по образцам, результат - либо приложение не запускается, либо ползунок на нуле после повторного обращения. Я хоть и неплохо умею искать инфу, но, в этом, казалось, пустяковом вопросе, полнейший мрак. Может у кого нибудь есть кусок этого или подобного кода??
0
ExFau$t
568 / 512 / 115
Регистрация: 08.05.2012
Сообщений: 2,549
04.05.2017, 23:25 7
Во-первых, то, что ты написал - бред сивой кобылы под лсд.
Во-вторых, никто здесь знать не знает, что у тебя в textview, и есть ли там вообще что-нибудь подходящее. Да даже задачу я не понял, записать в тектвью прогресс, чтобы потом вытащить оттуда в сикбар...
0
MSC2
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 12
05.05.2017, 00:10  [ТС] 8
Да, я понимаю, что со стороны это смотрится странно, но долго объяснять как так получилось, что я задаю такие вопросы. В кратце - мне создавали приложение, я переделываю в нем некоторые моменты (тк разработчик пока что не может заняться снова этой работой) не имея должных знаний (я не программист и у меня даже в школе не было толком уроков информатики)))). Очень многое в приложении мне удалось сделать самому, никого не доставая глупыми вопросами и тп (только чтение форумов, youtube и тп).

Суть такая что, в textView отображается прогресс seekBar, то есть я двигаю ползунок seekBar, прогресс отображается в textView, и уже из этого textView другая активити беред данные. Проблема только в том, что все работает, кроме прогресса seekBar (при повторном обращении в приложение seekBar мне показывает положение ползунка на нуле либо на максимуме, а в textView, например показано, что положение seekBar на 50). В приложении используются данные согласно сведений textView (поэтому проблема чисто эстетическая, тк seekBar (графическое отображение seekBar, не знаю как еще понятнее написать) на нуле либо на максимуме, что некорректно. Вопрос был только в том, чтобы сохранять положение seekBara в соответствии с его последним положением (что продублировалось в textView).

Я понимаю, что, всех бесят некомпетентые люди в определенных вопросах, но идти учиться 5 лет программированию и столько же заниматься самообразованием, ради того чтобы узнать как сохранять прогресс seekBara тоже бред сивой кобылы под лсд), поэтому обращаюсь к знающим людям за помощью, надеюсь на понимание.
0
MSC2
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 12
05.05.2017, 00:24  [ТС] 9
Вот такую ситуацию я имел в виду
0
Миниатюры
Сохранение положения seekbar (не сохраняет прогресс при повторном обращении)  
ExFau$t
568 / 512 / 115
Регистрация: 08.05.2012
Сообщений: 2,549
05.05.2017, 01:42 10
Хочешь фокус? Если взять значение, которое пишется в textview, и поставить его в прогресс, то будет то, что нужно.
0
MSC2
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 12
06.05.2017, 15:09  [ТС] 11
Цитата Сообщение от ExFau$t Посмотреть сообщение
Хочешь фокус? Если взять значение, которое пишется в textview, и поставить его в прогресс, то будет то, что нужно.
Я понимаю, что нужно передать это значение, я не понимаю как его передать, изначально я думал, что будет достаточно этого кода:
Java
1
2
3
4
5
6
7
 @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
 
                    textView.setText(String.valueOf(progress));
                    seekBar.setProgress(progress);
 
            }
Но это не работало, потом понял, что setProgress должен объявляться раньше seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener().

вставил в OnCreate такой код:

Java
1
2
String num1 = textView.getText().toString();
        seekBar.setProgress(Integer.parseInt(num1));
Тоже не работает, приложение не запускается.
0
ExFau$t
568 / 512 / 115
Регистрация: 08.05.2012
Сообщений: 2,549
06.05.2017, 17:23 12
Java
1
2
3
4
5
6
7
8
int default = 115;
textView.setText(String.valueOf(default));
seekBar.setProgress(default);
 
@Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                    textView.setText(String.valueOf(progress));
            }
Хотя бы так.
0
MSC2
0 / 0 / 0
Регистрация: 03.05.2017
Сообщений: 12
11.05.2017, 21:41  [ТС] 13
Цитата Сообщение от ExFau$t Посмотреть сообщение
1
2
3
4
5
6
7
8
int default = 115;
textView.setText(String.valueOf(default));
seekBar.setProgress(default);
@Override
* * * * * * public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
* * * * * * * * * * textView.setText(String.valueOf(progress));
* * * * * * }
Хотя бы так.
В этом случае отображалось только 115)) Ну это и так понятно, получилось все-таки, но через двойное присвоение переменной, сначала seekbar грузит инфу в программу, потом эта инфа выгружается в текствью и уже прогресс устанавливается в соответствии с этим текствью. Логика корявая, но главное работает. Спасибо за наводки!

Java
1
2
textView.setText(String.valueOf(appPreferences1.getLineThickness()));
        seekBar.setProgress(Integer.parseInt(textView.getText().toString()));
0
ExFau$t
568 / 512 / 115
Регистрация: 08.05.2012
Сообщений: 2,549
11.05.2017, 22:44 14
Логика вообще ни о чём, если это настройки, они пишутся в sharedPreference, в onCreate присваеивается прогресс и текствью оттуда, потом в onProgressChanged отслеживается новое положение и пишется в текствью, при выходе записывается в sharedPref и усё. Либо просто в sharedPref или в ресурсы положить константное дефаултное значение и ничего не записывать.
0
11.05.2017, 22:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2017, 22:44

ТВ-тюнер Авер медиа. При повторном обращении к программе она зависает
Здравствуйте,у меня проблема такова.Я купил ТВ тюнер Авер медиа,так он работает...

Программа при повторном обращении на страницу (но уже с другими параметрами) отображает одно и тоже
Проблема вроде в том что программа при повторном обращении на страницу(но уже с...

Ошибка "Сервер RPC недоступен" при повторном обращении к Word
Добрый день! Вывожу на печать с формы в документ Word. Все получается. Но при...


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

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

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