2013-07-02 2 views
0

커스텀리스트 어댑터를 구현하고 app합니다. 정의 된 스타일이있는 각 목록 항목을 부 풀릴 때 스타일이 작동하지 않는 것 같습니다.정의 된 스타일을 사용하는 팽창 레이아웃

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
style="?widgetWrapperStyle"> 

    <LinearLayout 
     style="@style/stat" /> 

    <RelativeLayout 
     style="?widgetStyle" 
     android:layout_below="@+id/widgetStat" > 

     <TextView 
      android:id="@+id/head"/> 

     <LinearLayout 
      android:id="@+id/body" /> 
</RelativeLayout> 

내 attrs.xml이와 style.xml은 다음과 같습니다 :

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <declare-styleable name="widgetWrapper"> 
     <attr name="widgetWrapperStyle" format="reference" /> 
    </declare-styleable> 
    <declare-styleable name="widget"> 
     <attr name="widgetStyle" format="reference" /> 
    </declare-styleable> 

</resources> 

<style name="AppThemeDark" parent="AppBaseThemeDark"> 
    <item name="widgetWrapperStyle">@style/widgetWrapperDark</item> 
    <item name="widgetStyle">@style/widget</item> 
</style> 

<style name="widgetWrapperDark" parent="widgetWrapper"> 
    <item name="android:background">@color/list_item_background_dark</item> 
</style> 

<style name="widget"> 
    <item name="android:layout_width">wrap_content</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:padding">@dimen/widget_padding</item> 
</style> 

convertView = inflater.inflate(R.layout.widget,null); 

레이아웃이 하나입니다 : 가 나는 부풀려이 일 전화 'style = "? xxxx"이 (가) 작동하는 것처럼 보입니다. 보기가 팽창되면 배경색이 올바르지 않습니다.

+0

어떻게 'inflater'를 만들었습니까? – CommonsWare

+0

이렇게하는 중 : inflater = (LayoutInflater) context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); 컨텍스트는 활동 컨텍스트입니다. – patritri

+0

'Activity'에서'getLayoutInflater()'를 대신 호출 해보십시오. – CommonsWare

답변

3

레이아웃을 부 풀릴 때 올바르게 구성된 LayoutInflater을 사용하는 것이 중요합니다. 특히 Activity에서 생성해야하며 이상적으로는 getLayoutInflater() (SherlockActivity 및 친족 IIRC는 getSupportLayoutInflater())을 호출하면됩니다.

Dave Smith는 테마 및 레이아웃 인플레이션과 관련된 문제를 포함하여 Context의 다양한 유형을 검토하여 an excellent blog post입니다.

+0

감사합니다. 너무 쉽고 논리적인데, 내가 그것을 안다면 : D! – Tim