2017-02-16 8 views
2

내 앱에서 EditText에 문제가있다. CCBB를 ET에 삽입했을 때 코드 바 스캐너로 가져 오는 코드 바가 필요하다. 포커스가 ListView로 이동하지만 포커스를 반환하려고했다. 다음을 포함합니다 :포커스 설정 EditText android

et.requestFocus();

그러나 포커스는 listview의 이동이 아니며 listview의 포커스 비활성화로도 시도됩니다.

나는 15 초마다 말할 수있는 TTS가있는 스레드가 있으며 스레드에 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

귀하되는 listItem의 부모보기에이 android:descendantFocusability="blocksDescendants" 속성을 추가하고 XML 아래와 같은 android:focusableInTouchMode="true"EditText인치

<?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

감사! 나는 그것을 시도했지만 효과가 없다. 초점은 다시 chanched. – Gannon

+0

edittext를 android : focusable = "false"로 변경하면 edittext 포커스를 android : focusable = "false" –

+0

으로 변경할 수 있습니다. edittext에 코드 바를 삽입 할 수 없습니다. – Gannon

0

시도해보십시오. 그것은 당신을 도울 것입니다.

listview.post(new Runnable() { 
    @Override 
    public void run() { 
     et.requestFocus(); 
     et.setFocusable(true); 
     et.setFocusableInTouchMode(true); 
    }