2017-02-16 7 views
2

У меня проблема с EditText, в моем приложении мне нужны кодовые коды, которые получают его с помощью сканера кода, когда CCBB был вставлен в ET, фокус переходит в ListView, но я попытался вернуть фокус с:Установить фокус EditText android

et.requestFocus();

Но фокус не перемещается из списка, а также пытается отключить фокус списка.

В приложении у меня есть поток с TTS, который говорит каждые 15 секунд, и я помещаю et.requestFocus() в поток, но он не работает.

спасибо!


я достиг его с этим кодом в XML:

<EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="number" 
     android:ems="10" 
     android:hint="@string/ccbb" 
     android:id="@+id/codigobarra" 
     android:nextFocusDown="@id/codigobarra"/> 
+0

Вы установили android: descendantFocusability = "blocksDescendants"? – user3040153

+0

Используете ли вы requestWindowFeature (Window.FEATURE_NO_TITLE); если он там удаляет его. – Rajan1404930

ответ

0

Добавить android:descendantFocusability="blocksDescendants" свойство родительского вида вашего ListItem и в EditTextandroid:focusableInTouchMode="true", как показано ниже XML.

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:id="@+id/activity_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:descendantFocusability="blocksDescendants" 
     tools:context="com.cj.myapplication.MainActivity"> 

     <EditText 
      android:id="@+id/editText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:focusableInTouchMode="true" 
      android:text="Name" /> 

    </RelativeLayout> 
+0

Спасибо! Я пробовал, но это не сработает. Сфокусировался снова. – Gannon

+0

вы можете изменить фокус edittext на андроид: focusable = "false" –

+0

если изменить edittext на android: focusable = "false", я не могу вставить код в edittext. – Gannon

0

Попробуйте это. Это поможет вам.

listview.post(new Runnable() { 
    @Override 
    public void run() { 
     et.requestFocus(); 
     et.setFocusable(true); 
     et.setFocusableInTouchMode(true); 
    } 
Смежные вопросы