ListFragmentから子ビューを取得して変更する
ListFragmentで子Viewを取得する方法です。
リストから選択してタップした場合にはOnClickListenerでViewを取得しているので
そこから取得すればいいのですが、ActionBarのメニューを押したときに
リストの見た目を変更したい場合にはどのようにViewを取得すればよいのでしょうか。
まずはじめにListFragmentのgetListView()で自身のListViewを取得します。
そして、getChildAt(position)でpositionで指定した位置にあるViewが取得できます。
下のサンプルコードではリストにあるViewの数だけループしてすべてのViewを設定しています。
ListView listView = getListView(); for(int i=0;i<listView.getCount();i++) { // リストの子ノードを取得して編集する View view = listView.getChildAt(i); // Viewの中にあるImageViewの背景を変更する ImageView imageView = (ImageView)view.findViewById(R.id.imageView1); imageView.setBackgroundColor(Color.RED); }