2016-06-27 10 views
0

TextInputLayout을 컨테이너로 사용하여 국가 코드와 전화 번호를 저장하고 있습니다. 이 컨테이너에 대한 사용자 지정 스타일이 있습니다. 레이어 목록 여기TextInputLayout setError의 NullPointerException

<style name="UserAuthField"> 
    <item name="android:background">@drawable/etborder</item> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:textColor">#333333</item> 
    <item name="android:textColorHint">#757575</item> 
    <item name="android:paddingBottom">4dp</item> 
    <item name="android:paddingTop">8dp</item> 
</style> 

것 :

<android.support.design.widget.TextInputLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/signin_inputlayout_mobile" 
     style="@style/UserAuthField"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <Spinner 
       android:layout_width="0dp" 
       android:layout_weight="22" 
       android:layout_height="wrap_content" 
       style="@style/region_spinner" 
       android:id="@+id/spinner" 
       android:prompt="@string/Auth_DialCode"> 
      </Spinner> 

      <EditText 
       android:layout_width="0dp" 
       android:layout_weight="78" 
       style="@style/UserAuthField" 
       android:inputType="number" 
       android:id="@+id/usr_mobile_uname_login" 
       android:hint="@string/Auth_Phone"/> 

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

다음

는 스타일

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:bottom="1dp" android:left="-3dp" android:right="-3dp" android:top="-3dp"> 
    <shape android:shape="rectangle"> 
     <stroke android:width="1dp" android:color="#00FFFFFF"/> 
    </shape> 
</item> 
</layer-list> 

나는이에 setError하려고, 나는 다음과 같은 오류 얻을 :

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setBackgroundTintList(android.content.res.ColorStateList)' on a null object reference 

참고하시기 바랍니다. 그러나이 경우에 뭔가 빠진 것처럼 보입니다. 왜 알아낼 수 없니?! 내가 한

답변

0

큰 실수는 레이아웃의 루트 요소의 정의했다 : 나는 스타일이 작동하려면, 그들이 지역 문맥이 아니라 정의 할 수 있고, this answer에서 알고있는 것처럼

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ripple="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
**tools:context="com.viven.android.kahaniya.ActivitySetup"** 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

응용 프로그램 수준 컨텍스트

이제는 그 의미가 무엇인지 아직 완전히 이해하지 못했습니다. 나는 그것에 대해 조금 더 읽을 것이지만, 추가 정보가 있다면 pls는 공유합니다.