2013-07-21 3 views
0

나는 Android 초보자입니다. 내 ListView 동적으로 일부 행을 강조 표시하고 싶습니다. 예를 들어 숫자 목록을 인쇄하는 경우 특정 조건을 충족하는 숫자 값을 굵게 표시하여 행을 만들고 싶습니다.Android가 ListView 행의 글꼴을 동적으로 변경합니다.

맞춤 어댑터를 사용하고 있습니다. 어떻게해야합니까?

+0

당신에게 비열한 행을 얻으시겠습니까? –

+0

@PANDA : 예 행 데이터가 동적 인 – user1801060

+0

이고 데이터를 동적으로 가져 오는 방법이나 기존 행의 글꼴을 동적으로 변경하는 방법을 알고 싶습니까? –

답변

1

당신은/입술에 스타일을 만들 필요가/예 style.xml를 들어, 폴더 값 :

<resources> 
    <style name="textbold" parent="@android:style/TextAppearance"> 
     <item name="android:layout_width">wrap_content</item> 
     <item name="android:layout_height">wrap_content</item> 
     <item name="android:textstyle">bold</item> 
    </style> 
</resources> 

및 사용자 정의 목록보기 어댑터를 사용 setTextAppearance에서

() 메소드 :

@Override 
public View getView(final int position, View convertView, ViewGroup parent) 
{ 
    View result = getLayoutInflater().inflate(xml_resource, null); 
    TextView tx = (TextView) result.findViewById(R.id.text-view-id); 

    if(condition == true) 
    { 
     tx.setTextAppearance(context, R.style.your-style-name); 
    } 
    else 
    { 
     //something else 
    } 
    ........ 
} 
+0

고마워. 이것은 내가 시작하는 데 도움이 될 것입니다. – user1801060

1

질문이 맞다면 행을 강조하고 싶습니다. 여러 가지 방법으로이를 수행 할 수 있습니다.

1) 일반 데이터보기 및 강조 표시된 데이터보기로 구성된 2 xml 파일을 만들 수 있습니다. 데이터에 따라 XML 파일을 바꿀 수 있습니다. 그러한

getView(...) 
{ 
    if(condition) 
     myView = lInflater.inflate(R.layout.normal_data,parent,false); 
    else 
     myView = lInflater.inflate(R.layout.highlighted_data,parent,false); 

    //do something with row 

    return myView; 
} 

2) 위의 모든 단계. 그러나! 이것이 글꼴에만 적용되는 경우이 단계는 1 파일에서 수행 할 수 있습니다.

관련 문제