2015-01-28 2 views
0

Я использую вкладки, прокручиваю в своей деятельности проблему У меня есть аппаратная клавиатура для моего мобильного телефона, когда я пытался ввести данные в текст редактирования, но он не принимает ввода, поэтому я использовал onTouchListener() для повторного включения фокуса для текста редактирования он отлично работает, но пользователь должен касаться каждого текста редактирования, по крайней мере, когда это моя проблема. Есть ли способ преодолеть эту проблему, так что слушатель фокуса шляпы работает правильно, как в действииФокус-прослушиватель на вкладках android

Я пробовал с

public void onViewCreated (View view, Bundle savedInstanceState) {super.onViewCreated (view, savedInstanceState); edit_mobilenor.postDelayed (new Runnable() {@Override public void run() {// TODO Автоматически созданный метод stub edit_mobilenor.requestFocusFromTouch();}}, 400); } также, но не использовать

ответ

2

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

Таким образом, чтобы вернуть фокус для этого редактирования текста есть 2 способа

1)you can use onTouchListener which will re produce focus for edit text like this 
editText.onTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    v.requestFocusFromTouch(); 
    return false; 
    } 
} 

2)you can remove the OnTouchModeChangeListener in onAttachedToWindow() using the following code 

mTabHost.addOnAttachStateChangeListener(new OnAttachStateChangeListener() { 

     @Override 
     public void onViewDetachedFromWindow(View v) {} 

     @Override 
     public void onViewAttachedToWindow(View v) { 
        mTabHost.getViewTreeObserver().removeOnTouchModeChangeListener(mTabHost); 
     } 
    }); 

на этот вопрос ответ есть 2 один

0
вариант

Использование IME в Editext

Проверить ссылку

http://technet.weblineindia.com/mobile/using-edit-text-ime-option-in-android-app/

+0

** Ваш ответ не работает для меня, потому что у меня есть в 10 Редактирование текста в вкладка подкачивается, когда когда-либо на экране загружается фокус, должен быть в первом текстовом редакторе после ввода пользователем десяти цифр в текстовом тексте редактирования, должен измениться на следующий отредактированный текст. Эта функция мне нужна для всех 10 edit text ** @ kumar – Kumar

+0

для этого использования TextChangeListner в EditText. .Введите символы, которые вы вводите в edittext, и как только счет достигает 10, смените фокус на следующий editText – John

+0

yes Я уже пробовал с TextChangeListner, но он не работает в вкладках – Kumar

Смежные вопросы