안드로이드 개발 질문/답변
(글 수 45,052)
리스트에 몇 개의 메뉴가 있을 때, 이 중에서 어떤 조건 때문에 하나의 메뉴(item)을 비활성화 시키려고 합니다. 보이긴 하지만 클릭 안되도록..
아래와 같이 책보고 리스트뷰를 만들었습니다.
3개의 메뉴중에 하나를 disable하게 만들고 싶은데(에뮬레이터에서 Setting쪽에 그런 부분들이 있더군요) 방법이 있나요?
Setting쪽 소스를 좀 뒤졌는데, 비활성화된 아이템을 포함한 리스트를 가지고 있는 부분은 PreferenceActivity 란 놈을 가지고 하는 부분이 많더군요...
제가 작성한 코드상에서 간단히 해결할 수 있는 방법이 있는지 여쭤봅니다...
아래와 같이 책보고 리스트뷰를 만들었습니다.
menuList = new ArrayList<String>(); menuList.add(getResources().getText(R.string.aaa).toString()); menuList.add(getResources().getText(R.string.bbb).toString()); menuList.add(getResources().getText(R.string.ccc).toString()); ArrayAdapter<String> adapter; adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, menuList); ListView list = (ListView)findViewById(R.id.menuList); list.setAdapter(adapter); list.setOnItemClickListener(mItemClickListener);
3개의 메뉴중에 하나를 disable하게 만들고 싶은데(에뮬레이터에서 Setting쪽에 그런 부분들이 있더군요) 방법이 있나요?
Setting쪽 소스를 좀 뒤졌는데, 비활성화된 아이템을 포함한 리스트를 가지고 있는 부분은 PreferenceActivity 란 놈을 가지고 하는 부분이 많더군요...
제가 작성한 코드상에서 간단히 해결할 수 있는 방법이 있는지 여쭤봅니다...
List Item 의 임의 정의 클래스를 하나 만드시고
그걸 이용하는 Adapter 를 하나 만드셔서 Custom List 를 제작하는 방법입니다.
물론 해당 ListItem 에는 이 아이템이 체크 됐는지 안됐는지 저장할수 있어야 겠죠
그런데 이 소스에서 그래야 한다... 면.
어떤 조건문에 의해
몇번째 아이템이 비활성화 되어야 하는지 번호는 당연하게 아시겠죠?
그 번호를 저장해 둡니다.
그리고 onItemClickListener 는 아이템이 클릭되면 그 클릭된 해당 아이템의 번호를 알려줍니다
그럼 조건문으로 그 번호하고 저장해둔 번호하고 같으면 실행하지 않으면 되겠죠.