2012-03-12 4 views
1

첫 번째 목록 항목에 빨간색 배경이 있고 두 번째 항목에 검은 색이 표시된다는 listView를 원합니다. 그렇습니까? 그렇다면 맞춤 목록 어댑터를 어떻게 만듭니 까? 감사합니다. !!두 개의 서로 다른 목록 항목이있는 ListView

|Black item| 


|Red item| 


|Black item| 

|Red item| 

|Black item| 

등 당신이 각 position %2 == 0에 대해 서로 다른 스타일을 적용 내린 public View getView(int position, View convertView, ViewGroup parent) 방법이

+0

그리고 두 가지 다른 색상이 아닌 배경에 두 가지 PNG를 사용하고 싶습니까 ?? –

+0

나는 나의 대답에서 언급했듯이, 목록 내의 각 위치에서 원하는대로 할 수있는 완전한 유연성을 가지고 있습니다. 'BaseAdapter'를 확장하면 결국 getView 메소드를 작성하는 것 외에는 거의 필요가 없습니다. – dldnh

+0

각 목록 항목에 같은 레이아웃을 갖고 싶지만 다른 이미지를 배경으로 사용하고 싶습니다. 어떻게하면됩니까? –

답변

1

. 이렇게하면 쉽게 서로 다른 항목을 만들 수 있습니다 :)

도움이되기를 바랍니다.

2

arrayadapter에서 getView를 재정의해야합니다. 이 메서드에 전달 된 매개 변수 중 하나가 위치입니다. 따라서 행이 짝수 또는 홀수인지 판단하기 위해 % 2 위치를 수행 할 수 있습니다. 당신이하고 싶은 것에 따라 당신은 당신이 거기에서 2 개의 완전히 다른 레이아웃을 팽창시킬 수있는 바꿀 수 있습니다.

0

내 최신 프로젝트 어댑터의 getView입니다. 나는 두 가지를 강조하기 위해 그것을 단순화했다 : 1. 어떤 종류의 뷰가 리턴 될지 결정하기를 원하는 어떤 기준을 사용할 수 있으며, 2. LayoutInflater.inflate을 사용하여 어떤 종류의 뷰 가든지간에 무엇이든 사용할 수있다. 그럴 수도 있습니다.

public View getView(final int position, View convertView, ViewGroup parent) 
{ 
    View v; 

    int n = itemList.get(position); 
    if (n < 0) 
    { 
    v = inflator.inflate(R.layout.layout1, null); 
    } 
    else if (n > 0) 
    { 
    v = inflator.inflate(R.layout.layout2, null); 
    } 
    else 
    v = inflator.inflate(R.layout.layout3, null); 

    return v; 
} 
+0

어떻게 itemList를 초기화해야합니까? 내 list_adapter 클래스? –

관련 문제