안드로이드 개발 질문/답변
(글 수 45,052)
expandableListView를 이용하고 있는데,

child가 없어도 앞에 indicator가 나오네요.
이거 없애는방법을 찾고 있는데, 혹시 구현하신분 있나요?

2010.10.15 21:01:15
제가 잘 몰라서 그러는데요, 위에 selector나온 xml 리소스는 어디에 있는 건가요?
그리고 인디케이터 이미지를 SDK에서 찾으려면 어떻게 해야하나요?
2010.10.15 21:09:29
저 selector나온 xml은 만든겁니다.
expander_ic_max...와 expander_ic_min... 이 두개는 이미지 파일이며...
[sdk_home]/platforms/[안드로이드 버전]/data/res/drawable-hdpi 에서 찾으세요....
expander_ic_max...와 expander_ic_min... 이 두개는 이미지 파일이며...
[sdk_home]/platforms/[안드로이드 버전]/data/res/drawable-hdpi 에서 찾으세요....
2010.10.15 21:18:35
sdk 폴더를 뒤저보니 /res/drawable에 expander_group.xml 파일이 있네요. 그걸 변형해서 쓰라는 말같은데요.
근데 의문점이 있어요. 저 xml파일은 group의 layout 파일인것 같은데
제가 새로 만든 layout을 코드와 연결하는건 어디에서 해주는 거죠?
바쁘실텐데 계속 물어봐서 죄송합니다.
(수정) 제가 selector를 처음봐서 뭘 몰라서 그랬네요. selector 공부하고 다시 해볼께요




public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { TextView textView = getGenericView(); textView.setText(getGroup(groupPosition).toString()); //그룹에 child가 없으면 정해진 이미지를 찍기 위해서 카운트0일때 expand if(getChildrenCount(groupPosition) == 0){ getExpandableListView().expandGroup(groupPosition); } return textView; }<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_expanded="true" android:state_empty="true" android:drawable="@drawable/icon48x48_2"/> <item android:state_expanded="true" android:drawable="@drawable/expander_ic_maximized" /> <item android:drawable="@drawable/expander_ic_minimized" /> </selector>public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Set up our adapter mAdapter = new MyExpandableListAdapter(); setListAdapter(mAdapter); registerForContextMenu(getExpandableListView()); StateListDrawable groupIndicator = (StateListDrawable)getResources().getDrawable(R.drawable.group_indicator_01); getExpandableListView().setGroupIndicator(groupIndicator); }지금 보시는 예제에 부분부분만 제가 드린대로 바꿔보세요...
그리고 저 인디케이터 이미지는 SDK에서 찾아서 복사해서 실행하셔야 합니다.