0

viewbox (LinearLayout)에서 부동 편집 텍스트을 가져 오려고합니다. 단순 EditText 잘 작동하지만 문제가 발생하지 않습니다.ViewGroup의 플로팅 - 편집 텍스트 가져 오기

XML 코드 :

<LinearLayout 
      android:id="@+id/signup_form" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="64dp" 
      android:orientation="vertical"> 

      <android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content"> 

       <EditText 
        android:id="@+id/et_name" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/hint_name" 
        android:inputType="textPersonName" 
        android:maxLines="1" 
        android:singleLine="true" /> 

      </android.support.design.widget.TextInputLayout> 

자바 코드 :

for (int i = 0; i < layout.getChildCount(); i++) { 

      View v = layout.getChildAt(i); 

      if (v instanceof EditText) { 

       EditText editText = (EditText) v; 

       if (editText.getInputType() == InputType.TYPE_TEXT_VARIATION_PERSON_NAME + 1) { 

        isValid = validateName(et_name); 

        if (!isValid) { 

         break; 
        } 

       } 

이 (android.support.design.widget.TextInputLayout 여기

내 코드입니다) LinearLayout과 EditText 사이에 왔고 그것을 해결하는 방법을 모른다. 사전

+0

그것은 당신의 문제가 무엇인지 아주 명확하지 않다. 'EditText'에 대한 참조를 원하면'findViewById()'를 사용하십시오. –

+0

감사합니다 @MikeM 귀하의 조언을 위해! 이제 아래에 언급 된 답변에서 내 문제를 해결했습니다. – Manish

답변

1

에서

덕분에이 작동합니다 :

if (v instanceof TextInputLayout) { 
    EditText editText = (EditText) v.getChildAt(0); 

하지만 당신은 아마 당신이 예외로 실행되지 않습니다 확인하기 위해 좀 더 검사를 추가해야합니다.

+0

감사합니다 Kevinpelgrims !!! 문제 해결됨 :) – Manish