Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> адаптация под самсунг, переключить язык ввода 
:(
    Опции темы
dorogoyIV
Дата 17.11.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



нацарапал обыкновенный телефонный справочник.
на мотороле работает.
на самсунге невозможно переключить язык ввода с английского на русский, на цифры (1 2 3 ...) и
знаки (= + / ...) хорошо переключается.
кто знает, как исправить?
PM MAIL   Вверх
dorogoyIV
Дата 24.11.2007, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



вариантов нет  smile 
тогда может быть есть возможность переключить язык ввода из самого приложения?
если есть, как?
PM MAIL   Вверх
eugine_s
Дата 24.11.2007, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Может просто баг самого телефона? 

От этих "корейцев" можно ждать всего что угодно...

Как вариант самому реализовать модуль ввода символов?  smile 
Но тогда этот ввод нужно будет делать и для английский буков.
PM MAIL   Вверх
dorogoyIV
Дата 24.11.2007, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



eugine_s, конечно и такая мысля была. типа тело глючное. теперь про самсунги я думаю, что они "гнусмасы"!!! 
теперь по делу: 
eugine_s, ты предлагаешь вводить латинские буквы, и переводить их в кириллицу?
для меня, для тебя, для посетителей этого форума это нормально. но не для других юзеров. 
PM MAIL   Вверх
eugine_s
Дата 24.11.2007, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(dorogoyIV @  24.11.2007,  17:00 Найти цитируемый пост)
ты предлагаешь вводить латинские буквы, и переводить их в кириллицу?
для меня, для тебя, для посетителей этого форума это нормально. но не для других юзеров.


Нет. Не так.

Я  предлагаю (повторяю: как вариант) эмулировать работу телефона по вводу символов, т.е. сейчас у тебя есть текстовое поле и ввод текста с клавиатуры телефона в него осуществляет виртуальная машина (она же и переключает язык ввода).

Я же тебе предлагаю самому сделать ввод букв на английском и русском языках, т.е. если выбран русский язык, то при быстром* нажатии на клавиатуре кнопки "2" один раз, то добавляется буква А, если два раза, то - Б, если три раза, то - В....

*под быстрым нажатием имеется ввиду промежуток времени между двумя нажатиями одной кнопки не больший, чем какая-то заданная величина. 
PM MAIL   Вверх
dorogoyIV
Дата 25.11.2007, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



ну да, это вариант. и не очень сложный. надо будет описать такие буквы "ж, щ, ч, ...".
с остальными просто replace("s", "c").
я так думаю...  smile 
но это через ж...  smile 

представляешь этот метод?
примерно:
Код

public char convertLetter(char ch)
{
 if(ch=='s')
    ch='c';
 ... // и так много много раз
 return ch;
}

 smile  smile  smile 

Это сообщение отредактировал(а) dorogoyIV - 25.11.2007, 01:28
PM MAIL   Вверх
dorogoyIV
Дата 25.11.2007, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



предполагаю, что с этим методом будет очень медленно вводится строка для поиска.
ну в общем то не вижу других вариантов  smile .
спасибо eugine_s за наводку  smile .


PM MAIL   Вверх
eugine_s
Дата 25.11.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Нет.Нет. И еще раз НЕТ.

Не надо приписывать мне лишнего (тем более такого).

Я НЕ ПРЕДЛАГАЛ никаких ТРАНСЛИТОВ.

Транслит плох тем, что его не все знаю, а из тех кто знает, что это такое не все правильно знаю его правописание (хотя если приложение только для себя, то можно обойтись транслитом).

Я предлагаю не легкий вариант, который можно реализовать одним методом.
Это как минимум будет целый класс MyTextField + свой контейнер MyForm для MyTextField нужен будет + слушатель клавиатуры (Хотя этот класс может входить в комплект MyForm)

Я же написал: нужно будет эмулировать работу JVM по вводу данных в текстовое поле с клавиатуры. Сейчас ты делаешь так: в объект типа Form (например form) добавляешь текстовое поле:
TextField tf = new TextField();
form.add(tf);
и все!! На этом твое участие в работе TextField заключается только в том, что когда будет нажата какая-то кнопка взять из tf текст и в случае если эта строка не пустая начать поиск.

Код

String textToFind = tf.getText() //или как там этот метод называется

if (textToFind != null && textToFind != "")
{
    startSearch(textToFind); //начать поиск строки
    //вывод результатов поиска.
}



Я предлагаю сделать это все самому,  ГРУБО ГОВОРЯ, на Canvas-e нарисовать прямоугольник(graphics.drawRect(x,y,w,h)) и сказать что этот прямоугольник - MyTextField и пусть пользователь сам введет в этот прямоугольник текст (и этот ввод должен ничем не отличаться от стандартного ввода в TextField). Для этого нужно будет сделать какое-то меню для этой кнопки, в этом меню должен быть выбор языка: английский, русский, китайский и т.д.
Если выбран русский язык, то буквы будут добавляться в эту строку ТОЛЬКО РУССКИЕ!!!! Никаких транслитов.
Например, если введено слово: "тест", то это значит, что пользователь нажал:
- три раза цифру 6 на клавиатуре телефона
- два раза цифру 3
- два раза цифру 6
//тут будет пауза, чтобы не получилось пять нажатий цифры 6
- три раза цифру 6


PM MAIL   Вверх
dorogoyIV
Дата 25.11.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



такая ситуация:
на телефоне при запуске моего приложения не включается русский язык.
поэтому:
ловлю букву при нажатии кнопки (естественно это будет латинская буква). // ??? так можно?
тут же запускаю свой метод convertLetter().
и в TextField ввожу уже русскую букву.
задача упрощается тем, что латинские буквы вообще не нужны (в справочнике русские фамилии).
поэтому в методе convertLetter() просто заменяю латинскую букву на русскую.

я думал так можно. ???
PM MAIL   Вверх
eugine_s
Дата 25.11.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(dorogoyIV @  25.11.2007,  15:23 Найти цитируемый пост)
я думал так можно. ??? 


Нет так нельзя.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0759 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.