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

Не могу передать значение в другой класс - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Непоятная работа БД http://www.cyberforum.ru/android-dev/thread1408262.html
порядок действий: 1. делаю записи в бд 2. проверяю. все имеется как нужно. 3. дальше очищаю эту таблицу. пытаюсь вывести - пусто. все удалено как надо. 4. делаю опять запись в эту таблицу (по...
Программирование Android Создание приложения под Android OS Уважаемые форумчане! Помогите пожалуйста На базе какой программы(ПК или смартфона) можно создать свое собственное приложение для удаленного администрирования локальной вычичслительной сети на... http://www.cyberforum.ru/android-dev/thread1408249.html
Программирование Android FloatingButton + RecyclerView+ RefreshLayout
Имеется xml: <!--RefreshLayout--> <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
Кинуть событие Программирование Android
Здравствуйте. Есть два потока : основной (MainActivity) и второй, который подгружает данные с сервера, записывает их в БД и после загрузки данных мне необходимо отрисовать содержимое для...
Программирование Android Изображение увиличивается в 2 раза http://www.cyberforum.ru/android-dev/thread1408114.html
Здравствуйте, я на карту вывожу различные метки, в качестве меток беру изображения из res\drawable. При выводе на карту метка с изображением увеличивается в 2 раза, т.е. была размером 32х32 пикселя,...
Программирование Android Приложение с собственной картой Делаю первое приложение под платформу android (автобусы города), еще не знаю многих тонкостей.(К сожалению друзей android developer'ов тоже нет, по этому приходится постигать всё самому). У меня в... подробнее

Показать сообщение отдельно
wolf3d
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 7

Не могу передать значение в другой класс - Программирование Android

30.03.2015, 23:09. Просмотров 429. Ответов 6
Метки (Все метки)

я программист, но в ноябре 2013 года со мной произошел сильнейший инсульт (из-за диабета, который я раньше никак не контролировал).
В результате, мозги до сих пор не работают как раньше - быстро и надежно.
Была плохая координация, искал клавиатуру на мобильник с большими кнопками и нарвался на клавиатуру jbak.
Позволяет нарисовать раскладку какую хочешь, поддерживает все языки из двухбуквенного кода (ru,en etc),
создать свой скин, поддерживает мультибуфер обмена (хранит до 20 (указывается в настройках) значений), стрелки, куча настроек и прочего. Куда там всем остальным клавиатурам вместе взятым. Хоть платным, хоть бесплатным. И, при всех своих возможностях - занимает всего 320кб. Короче, классная клавиатура.
Но оказалось что проект заброшен аж с февраля 2013 года и, хоть с разработкой на java и под андроид я раньше
никогда не занимался - реанимировал проект (jbak2 keyboard - выложен в маркет) - клавиатура была не доведена до ума, а такие проекты, имхо, не должны бросаться.

Но возник вопрос (бьюсь уже больше трех недель, и никак не соображу в чем проблема - раньше бы давно
разобрался-бы, а после инсульта...)

в общем описание:
как я уже сказал, есть клавиатура jbak. Хочу сделать в ней калькулятор (раскладку сделать просто - программа позволяет сделать ЛЮБУЮ раскладку, какого угодно размера), а что нужно от калькулятора в клавиатуре? Нужно чтобы нажатые клавиши (например 0-9) не выводились в строку ввода. Верно? Идем дальше.
В качестве индикатора калькулятора используем обычную кнопку и будем менять на ней текст в зависимости от нажатых других клавиш.
Чтобы было проще - ввел переменную calcind (индикатор калькулятора)
В программе есть файл Service.java, в котором есть процедура (метод) обработки нажатых клавиш.
С этим проблем не возникает:
Java
1
2
3
4
5
6
            case st.SET_KEY_CALC_NUMBER0: // обработка клавиши 0 
                LatinKey calcind = st.curKbd().getKeyByCode(-550);
                calcind.calcInd="0";
                calcind.init(null);
            break;
        }
Также, в отдельном файле есть собственный класс клавиш и в нем есть метод init:
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
    static class LatinKey extends Keyboard.Key {
// ...  
// индикатор калькулятора
        String calcInd="";
// ...
        void init(Row parent)
        {
            trueRepeat = repeatable;
            repeatable = false;
            m_kd = new KeyDrw(this);
            m_kd.m_bNoColorIcon = noColorIcon;
            m_kd.setSmallLabel(smallLabel);
//            calcInd="0";
            String  s = calcInd.toString();
            if (s.length()!=0) {
                if (mainText== null)
                    mainText = "q";
                if (m_kd.txtMain== null)
                    m_kd.txtMain = "h";
                m_kd.txtMain+=s;
                mainText+=s.toString();
            }
// ...      
    }
Вот с этим то и проблема. Текст на кнопке индикатора не меняется при любых значених calcind. при этом, если раскомментировать строку calcind = "0", то все нормально - текст меняеся НА ВСЕХ КНОПАХ, но к исходному тексту добавляется "0".
Повторяю, если строка закоментирована - текст на кнопке не меняется. Понимаю что "истина где-то рядом", но никак не соображу где.
Перечитал кучу книг, гуглил, смотрел примеры с форумов - ничего не нашел

Что я делаю не так? Помогите сделать клавиатуру лучшей в маркете.

зы. извиняюсь что так длинно, но не соображу как объяснить покороче...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru