2012-02-29 19 views
1

私はAPIからフェッチされた項目でいっぱいのListViewを作成しようとしていますが、変数によっては、その行のListView項目レイアウトでTextViewを表示/非表示にしたいとします。Android:Array値に応じてListViewアイテムの要素を動的に表示/非表示するにはどうすればよいですか?

My ListViewのアイテムレイアウトには3つのTextViewが含まれています。 1つはandroid:visibilty: "GONE"を使ってデフォルトで隠されています。私は私のListAdapterのためにこれを使用しています

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

にアタッチ:

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" かどうかをチェックするためにリスト全体を繰り返すことができる方法であり、 = "何か"その単一の項目の中に隠れたTextViewを表示しますか?

または、1つのListViewアイテムにTextViewを動的に挿入する方法はありますか?

ありがとうございます!

答えて

2

リストビューのカスタムアダプタを作成し、

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()を実装する必要はありません。すでにビューバインダーを使用しているので、実装が簡単ですgetView()

関連する問題