Изо всех сил пытается запустить цифровую клавиатуру при запуске деятельности - PullRequest
1 голос
/ 09 ноября 2011

У меня есть несколько TextView в моей деятельности, когда начинается деятельность, я хочу показать мягкую цифровую клавиатуру или эта деятельность всегда должна отображать клавиатуру.

Я пытался:

  1. Чтобы установитьandroid:windowSoftInputMode="stateAlwaysVisible" в манифесте для действия, но не сработало.
  2. Добавлен этот код в упражнении onCreate, он показывает буквенно-цифровую клавиатуру, но не цифровую.

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

Нужна помощь по этому вопросу.

Ответы [ 3 ]

1 голос
/ 09 ноября 2011

Поместите текст редактирования в ваш XML-файл как первый ребенок.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             ............
               .........>
 <EditText android:layout_width="0dp"
    android:layout_height="0dp"/>
..............
................
</LinearLayout>
1 голос
/ 06 мая 2014

Чтобы открыть цифровую клавиатуру при запуске упражнения, я использовал следующие шаги:

Создал текстовое поле редактирования в макет как:

<EditText
        ...
        android:inputType="number"    
        ...  />

, но так какВам нужно, чтобы клавиатура всплывала без какого-либо текста для редактирования, поэтому укажите

 <EditText
        ...
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:inputType="number"    
        ...  />

В функции onCreate () Показать программную клавиатуру

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);

Наиболее важным являетсяуделить внимание редактированию текста в методе onResume .

    @Override
    public void onResume() {
        super.onResume();
        editText.setFocusableInTouchMode(true);
        editText.requestFocus();
    }
1 голос
/ 09 ноября 2011

Я пробовал это для EditText динамически ... Метод будет таким же и для TextView. Когда начинается процесс, сфокусируйтесь на этом textView, чтобы он мог отображать на клавиатуре

    boolean checkFocus=EditText.requestFocus();
    Log.i("CheckFocus", ""+checkFocus);
    if(checkFocus==true)
    {
    InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    EditText.setInputType(InputType.TYPE_CLASS_PHONE); [select Input type as according to ur requirement]
    mgr.showSoftInput(EditText, InputMethodManager.SHOW_IMPLICIT);
    }
...