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

fragment 에서 expandablelistview 출력오류 질문입니다. [closed]

0 추천
public class Rice1 extends Fragment {
    ExpandableListView listMain;
    private ArrayList<String> arrayGroup = new ArrayList<String>();
    private HashMap<String, ArrayList<String>> arrayChild = new HashMap<String, ArrayList<String>>();
    private View inf;
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.rice1activity);
//
//        listMain = (ExpandableListView)findViewById(R.id.expandableListView1);
//        setArrayData();
//
//        listMain.setAdapter(new Adptmain(this, arrayGroup, arrayChild));
//    }
    public Rice1() {
    }
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        inf = inflater.inflate(R.layout.rice1activity,container,false);
        listMain = (ExpandableListView) inf.findViewById(R.id.expandableListView1);
        setArrayData();
        listMain.setAdapter(new Adptmain(getActivity(), arrayGroup, arrayChild));
//        return inflater.inflate(R.layout.rice1activity, container, false);
        return inf;
    }

    private void setArrayData(){
        arrayGroup.add("피자");
        arrayGroup.add("치킨");
        arrayGroup.add("중국집");

        ArrayList<String> arrayPizza = new ArrayList<String>();
        arrayPizza.add("치즈");
        arrayPizza.add("고구마");
        arrayPizza.add("비싼거");



        ArrayList<String> arrayChicken = new ArrayList<String>();
        arrayChicken.add("후라이드");
        arrayChicken.add("양념");
        arrayChicken.add("반반");

        ArrayList<String> arrayChines = new ArrayList<String>();
        arrayChines.add("자장");
        arrayChines.add("짬봉");
        arrayChines.add("탕슈");

        arrayChild.put(arrayGroup.get(0), arrayPizza);
        arrayChild.put( arrayGroup.get(1),arrayChicken);
        arrayChild.put( arrayGroup.get(2),arrayChines);



    }


}
위가 메인소스코드이구
adptmain 소스는
public class Adptmain extends BaseExpandableListAdapter {
    private Context context;
    private ArrayList<String> arrayGroup;
    private HashMap<String, ArrayList<String>> arrayChild;

    public Adptmain(Context context, ArrayList<String> arrayGroup, HashMap<String, ArrayList<String>> arrayChild ){
        super();
        this.context = context;
        this.arrayGroup = arrayGroup;
        this.arrayChild = arrayChild;
    }
    public boolean hasStableIds(){
        return false;
    }
    public boolean isChildSelectable(int groupPosition, int childPosition){
        return true;
    }
    public int getGroupCount() {
        return arrayGroup.size();
    }
    public int getChildrenCount(int groupPosition){
        return arrayChild.get(arrayGroup.get(groupPosition)).size();
    }
    public Object getGroup(int groupPosition){
        return arrayGroup.get(groupPosition);
    }
    public Object getChild(int groupPosition, int childPosition){
        return arrayChild.get(arrayGroup.get(groupPosition)).get(childPosition);
    }
    public long getGroupId(int groupPosition){
        return groupPosition;
    }
    public long getChildId(int groupPosition, int childPosition){
        return childPosition;
    }
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent){

        String groupName = arrayGroup.get(groupPosition);
        View v =  convertView;

        if(v==null){
            LayoutInflater inflater =(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = (RelativeLayout)inflater.inflate(R.layout.rice1group,null);
        }
        TextView textGroup = (TextView)v.findViewById(R.id.textGroup);
        textGroup.setText(groupName);


        return v;

    }
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent){
        String childName = arrayChild.get(arrayGroup.get(groupPosition)).get(childPosition);
        View v =  convertView;

        if(v==null){
            LayoutInflater inflater =(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = (RelativeLayout)inflater.inflate(R.layout.rice1child,null);
        }
        TextView textChild = (TextView)v.findViewById(R.id.textChild);
        textChild.setText(childName);


        return v;

    }
소스입니다.. mainlayout,listgroup,listchild 레이아웃이 각각잇습니다.

 실행을하게되면

(expandablelistview)에 없는 imageview는 표기가되고 textview는 표기가안되는데... 이유가뭘까요?ㅜㅜ
 

이게 안드로이드스튜디오 에서 보이는것인데.. 뒤에 배경이

검정색으로나오는것도 이상하구.. 저렇게표기가되야되는데 안되네요 ㅜㅜ
질문을 종료한 이유: 해결하엿습니다.
학생소년 (180 포인트) 님이 2015년 10월 11일 질문
학생소년님이 2015년 10월 11일 closed
...