2012-02-29 3 views
1

메신저 API에서 가져온 항목으로 채워진 ListView를 만들려고하는데 변수에 따라 해당 행의 ListView 항목 레이아웃에서 TextView를 표시하거나 숨기려고합니다.Android : Array 값에 따라 ListView 항목의 요소를 동적으로 표시하거나 숨기는 방법은 무엇입니까?

내 ListView 항목 레이아웃에는 3 개의 TextView가 포함되어 있습니다. 하나는 android : visibilty : "GONE"을 사용하여 기본적으로 숨겨져 있습니다. 에

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 

첨부 :

나는이 내 ListAdapter을 위해 사용하고

ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.main, 
          new String[] { "title", "info","comments", "score" }, 
          new int[] { R.id.item_title, R.id.item_subtitle, R.id.post_comments, R.id.post_score }); 
setListAdapter(adapter); 
final ListView lv = getListView(); 

그래서 제 질문은, 내가 전체 목록을 반복 할 수있는 방법을 확인하는 경우 "VariableA"= = "something"그런 다음 그 단일 항목 내에서 숨겨진 TextView를 표시합니까?

또는 하나의 ListView 항목에 TextView를 동적으로 삽입하는 방법이 있습니까?

감사합니다.

답변

2

당신은 사용자 지정보기 바인더가 보이지 않거나 사라 볼 수 귀하의 국기와 설정을 확인하여, 당신은 모든 getView()을 구현할 필요가 없습니다 목록보기를 들어 사용자 정의 어댑터를 작성하고

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


    if("variable1".equals("something")){ 
     //create view here For row 

    } else{ 
     //create another view here For row 
    } 

    return row; 

} 
0

에서 일부 로직을 작성해야합니다. 이미 뷰 바인더를 사용하고 있으므로 구현하기가 더 쉽습니다. getView()

관련 문제