expandableListView 怎么把后台的数据存放起来

private ExpandableListView expandableListView;

private List<String> group_list;//表示它有几个分组  存放组名

private List<String> item_lt;//每个分组下面有多少人 存放组里的人民

private List<List<String>> item_list;

private List<List<Integer>> item_list2;//存放头像的List

private List<List<Integer>> gr_list2;

private List<T> list=new ArrayList<T>();//把后台传过来的值保存到list里面

private MyExpandableListViewAdapter adapter;
String zddres=null;


@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    //setContentView(R.layout.activity_main);

    View view=inflater.inflate(R.layout.fragment_lianxiren,null);
    houtaicaixun();

    // private List<String> group_list;//表示它有几个分组
    // 随便一堆测试数据
    group_list = new ArrayList<String>();
    group_list.add(zddres);
    group_list.add("我的家人");
    group_list.add("兄弟姐妹");
    group_list.add("我的同学");



    //private List<String> item_lt;//每个分组下面有多少人
    item_lt = new ArrayList<String>();
    item_lt.add("张三");
    item_lt.add("董存瑞");
    item_lt.add("李大钊");




    item_list = new ArrayList<List<String>>();
    item_list.add(item_lt);
    item_list.add(item_lt);
    item_list.add(item_lt);
    item_list.add(item_lt);

    List<Integer> tmp_list = new ArrayList<Integer>();//存放头像
    tmp_list.add(R.drawable.ic_launcher);
    tmp_list.add(R.drawable.ic_launcher);
    tmp_list.add(R.drawable.ic_launcher);
    tmp_list.add(R.drawable.ic_launcher);

    item_list2 = new ArrayList<List<Integer>>();//存放头像
    item_list2.add(tmp_list);
    item_list2.add(tmp_list);
    item_list2.add(tmp_list);
    item_list2.add(tmp_list);



   List<Integer> gr_list = new ArrayList<Integer>();
    gr_list.add(R.drawable.qb_right);
    gr_list.add(R.drawable.qb_right);
    gr_list.add(R.drawable.qb_right);
    gr_list.add(R.drawable.qb_right);

//···· 这个感觉没什么用
gr_list2 = new ArrayList>();
gr_list2.add(gr_list);
gr_list2.add(gr_list);
gr_list2.add(gr_list);
gr_list2.add(gr_list);

    expandableListView = (ExpandableListView)view.findViewById(R.id.expendlist);
    expandableListView.setGroupIndicator(null);

    // 监听组点击
    expandableListView.setOnGroupClickListener(new OnGroupClickListener()
    {
        @SuppressLint("NewApi")
        @Override
        public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id)
        {
            if (item_list.get(groupPosition).isEmpty())
            {
                return true;
            }
            return false;
        }
    });

    // 监听每个分组里子控件的点击事件
    expandableListView.setOnChildClickListener(new OnChildClickListener()
    {

        @Override
        public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id)
        {

           Toast.makeText(getActivity(), "group=" + groupPosition + "---child=" + childPosition + "---" + item_list.get(groupPosition).get(childPosition), Toast.LENGTH_SHORT).show();

            return false;
        }
    });

    adapter = new MyExpandableListViewAdapter(this.getActivity());

    expandableListView.setAdapter(adapter);
    return view;
}


// 用过ListView的人一定很熟悉,只不过这里是BaseExpandableListAdapter
class MyExpandableListViewAdapter extends BaseExpandableListAdapter
{

    private Context context;

    public MyExpandableListViewAdapter(Context context)
    {
        this.context = context;
    }

    /**
     *
     * 获取组的个数
     *
     * @return
     * @see android.widget.ExpandableListAdapter#getGroupCount()
     */
    @Override
    public int getGroupCount()
    {
        return group_list.size();
    }

    /**
     *
     * 获取指定组中的子元素个数
     *
     * @param groupPosition
     * @return
     * @see android.widget.ExpandableListAdapter#getChildrenCount(int)
     */
    @Override
    public int getChildrenCount(int groupPosition)
    {
        return item_list.get(groupPosition).size();
    }

    /**
     *
     * 获取指定组中的数据
     *
     * @param groupPosition
     * @return
     * @see android.widget.ExpandableListAdapter#getGroup(int)
     */
    @Override
    public Object getGroup(int groupPosition)
    {
        return group_list.get(groupPosition);
    }

    /**
     *
     * 获取指定组中的指定子元素数据。
     *
     * @param groupPosition
     * @param childPosition
     * @return
     * @see android.widget.ExpandableListAdapter#getChild(int, int)
     */
    @Override
    public Object getChild(int groupPosition, int childPosition)
    {
        return item_list.get(groupPosition).get(childPosition);
    }

    /**
     *
     * 获取指定组的ID,这个组ID必须是唯一的
     *
     * @param groupPosition
     * @return
     * @see android.widget.ExpandableListAdapter#getGroupId(int)
     */
    @Override
    public long getGroupId(int groupPosition)
    {
        return groupPosition;
    }

    /**
     *
     * 获取指定组中的指定子元素ID
     *
     * @param groupPosition
     * @param childPosition
     * @return
     * @see android.widget.ExpandableListAdapter#getChildId(int, int)
     */
    @Override
    public long getChildId(int groupPosition, int childPosition)
    {
        return childPosition;
    }

    /**
     *
     * 组和子元素是否持有稳定的ID,也就是底层数据的改变不会影响到它们。
     *
     * @return
     * @see android.widget.ExpandableListAdapter#hasStableIds()
     */
    @Override
    public boolean hasStableIds()
    {
        return true;
    }

    /**
     *
     * 获取显示指定组的视图对象
     *
     * @param groupPosition 组位置
     * @param isExpanded 该组是展开状态还是伸缩状态
     * @param convertView 重用已有的视图对象
     * @param parent 返回的视图对象始终依附于的视图组
     * @return
     * @see android.widget.ExpandableListAdapter#getGroupView(int, boolean, android.view.View,
     *      android.view.ViewGroup)
     */
    @Override
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)
    {
        GroupHolder groupHolder = null;
        if (convertView == null)
        {
            convertView = LayoutInflater.from(context).inflate(R.layout.expendlist_group, null);
            groupHolder = new GroupHolder();
            groupHolder.txt = (TextView)convertView.findViewById(R.id.txt);
            groupHolder.img = (ImageView)convertView.findViewById(R.id.img);
            convertView.setTag(groupHolder);
        }
        else
        {
            groupHolder = (GroupHolder)convertView.getTag();
        }

        if (!isExpanded)//不是展开状态
        {
             groupHolder.img.setBackgroundResource(R.drawable.qb_right);
        }
        else//展开状态
        {
             groupHolder.img.setBackgroundResource(R.drawable.qb_down);
        }


        //设置组名
       groupHolder.txt.setText(group_list.get(groupPosition));
        return convertView;
    }

    /**
     *
     * 获取一个视图对象,显示指定组中的指定子元素数据。
     *
     * @param groupPosition 组位置
     * @param childPosition 子元素位置
     * @param isLastChild 子元素是否处于组中的最后一个
     * @param convertView 重用已有的视图(View)对象
     * @param parent 返回的视图(View)对象始终依附于的视图组
     * @return
     * @see android.widget.ExpandableListAdapter#getChildView(int, int, boolean, android.view.View,
     *      android.view.ViewGroup)
     */
    @Override
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
    {
        ItemHolder itemHolder = null;
        if (convertView == null)
        {
            convertView = LayoutInflater.from(context).inflate(R.layout.expendlist_item, null);
            itemHolder = new ItemHolder();
            itemHolder.txt = (TextView)convertView.findViewById(R.id.txt);
            itemHolder.img = (ImageView)convertView.findViewById(R.id.img);
            convertView.setTag(itemHolder);
        }
        else
        {
            itemHolder = (ItemHolder)convertView.getTag();
        }

        //设置每个组里有多少人
       itemHolder.txt.setText(item_list.get(groupPosition).get(childPosition));


        itemHolder.img.setBackgroundResource(item_list2.get(groupPosition).get(childPosition));
        return convertView;
    }

    /**
     *
     * 是否选中指定位置上的子元素。
     *
     * @param groupPosition
     * @param childPosition

}
![图片说明](https://img-ask.csdn.net/upload/201610/20/1476951675_929263.jpg)

![图片说明](https://img-ask.csdn.net/upload/201610/20/1476952030_433854.jpg)
如何把这个Json字符串里的值放到那几个List 去

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐