마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

baseexpandablelistadapter에는 isenable()는 없는건가요?

0 추천

expandablelistview 에 중간에 타이틀(?) 같은 목록을 넣고 클릭 및 선택이 안되도록 하고 싶은데요.

 

BT 키보드로 선택이 되더라구요.

 

그래서 찾아보니

다른 리스트어댑터에서는 areAllItemsEnabled() / isEnable() 로 해결이 가능하던데

위의 expandablelistview 와 baseexpandablelistadapter 에서는 위의 isEnable 함수가 없어서

해결이 쉽지 않네요.

 

혹시 아시는분 알려주시면 감사하겠습니다. 최대한 소스를 덜 수정하는 방법에서 ㅜㅜ

 

즐거운 시간되세요.

미친나무 (340 포인트) 님이 2013년 2월 25일 질문

1개의 답변

0 추천
package tool;

import android.database.DataSetObserver;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;

public class T extends BaseExpandableListAdapter {

 @Override
 public void registerDataSetObserver(final DataSetObserver observer) {
  // TODO 자동 생성된 메소드 스텁

 }

 @Override
 public void unregisterDataSetObserver(final DataSetObserver observer) {
  // TODO 자동 생성된 메소드 스텁

 }

 @Override
 public int getGroupCount() {
  // TODO 자동 생성된 메소드 스텁
  return 0;
 }

 @Override
 public int getChildrenCount(final int groupPosition) {
  // TODO 자동 생성된 메소드 스텁
  return 0;
 }

 @Override
 public Object getGroup(final int groupPosition) {
  // TODO 자동 생성된 메소드 스텁
  return null;
 }

 @Override
 public Object getChild(final int groupPosition, final int childPosition) {
  // TODO 자동 생성된 메소드 스텁
  return null;
 }

 @Override
 public long getGroupId(final int groupPosition) {
  // TODO 자동 생성된 메소드 스텁
  return 0;
 }

 @Override
 public long getChildId(final int groupPosition, final int childPosition) {
  // TODO 자동 생성된 메소드 스텁
  return 0;
 }

 @Override
 public boolean hasStableIds() {
  // TODO 자동 생성된 메소드 스텁
  return false;
 }

 @Override
 public View getGroupView(final int groupPosition, final boolean isExpanded, final View convertView,
         final ViewGroup parent) {
  // TODO 자동 생성된 메소드 스텁
  return null;
 }

 @Override
 public View getChildView(final int groupPosition, final int childPosition, final boolean isLastChild,
         final View convertView, final ViewGroup parent) {
  // TODO 자동 생성된 메소드 스텁
  return null;
 }

 @Override
 public boolean isChildSelectable(final int groupPosition, final int childPosition) {
  // TODO 자동 생성된 메소드 스텁
  return false;
 }

 @Override
 public boolean areAllItemsEnabled() {
  return super.areAllItemsEnabled();
 }

 @Override
 public boolean isEmpty() {
  // TODO 자동 생성된 메소드 스텁
  return false;
 }

 @Override
 public void onGroupExpanded(final int groupPosition) {
  // TODO 자동 생성된 메소드 스텁

 }

 @Override
 public void onGroupCollapsed(final int groupPosition) {
  // TODO 자동 생성된 메소드 스텁

 }

 @Override
 public long getCombinedChildId(final long groupId, final long childId) {
  // TODO 자동 생성된 메소드 스텁
  return 0;
 }

 @Override
 public long getCombinedGroupId(final long groupId) {
  // TODO 자동 생성된 메소드 스텁
  return 0;
 }

}

ㅇㅅㅇ...

있습니다

오버라이딩하세요

수상한i (8,050 포인트) 님이 2013년 2월 26일 답변
위에 보시면  areAllItemsEnabled() 는 있지만 이 함수는 전체에 활성화인지 아니면 나눠서 처리할지 알려주는 역할만 하고 중요한 부분은  isEnable()   이 함수인데, 이 함수는 존재 하지 않습니다. ㅜㅜ

      isChildSelectable() -> 이건 그룹 아이템을 선택을 하면 자식 아이템이 나오는데 그걸 선택가능하게 할지 안할지만 결정하는 거라
그룹 아이템은 선택이 됩니다 ㅜㅜ
getGroupView에서 처리하시면 됩니다
(setclickable)
...