передать две данные в дочерний список расширяемого списка - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь передать два массива в моем адаптере, но я явно не знаю, как мне передать два массива в моем адаптере.

вы можете видеть на этом изображении, что я хочу поместить данные в «образец», но сейчас я могу передать только один массив.

так что в настоящее время у меня есть 1 группа и 1 дочерние данные. мне нужно иметь 1 группу и 2 дочерних данных

https://imgur.com/a/L3lWSkl

в настоящее время мой код передает только один массив в моем адаптере:

  public NetRevAdapter getAdapter() {
        //initialitiasing dummy datas
        listDataGroup.add("Branch Stats: ");
        listDataGroup.add("Cluster Stats:");

        List<String> dummyBranchStats = new ArrayList<>();
        dummyBranchStats.add("Branch Category");
        dummyBranchStats.add("Net Revenue - Actual YTD");
        dummyBranchStats.add("Net Revenue - Budget YTD");
        dummyBranchStats.add(" % Achievement YTD");
        dummyBranchStats.add("Qualified?");
        dummyBranchStats.add("Total Net Rev Budget 2019");
        dummyBranchStats.add("% Achievement vs Total 2019");

        List<String> dummyClusterStats = new ArrayList<>();
        dummyClusterStats.add("Cluster Name");
        dummyClusterStats.add("Net Revenue - Actual YTD");
        dummyClusterStats.add("Net Revenue - Budget YTD");
        dummyClusterStats.add(" % Achievement YTD");
        dummyClusterStats.add("Nationwide Cluster Rank");
        dummyClusterStats.add("In top 25%?");
        dummyClusterStats.add("Total Net Rev Budget 2019");
        dummyClusterStats.add("% Achievement vs. Total 2019");

        // Adding child data
        listDataChild.put(listDataGroup.get(0), dummyBranchStats);
        listDataChild.put(listDataGroup.get(1), dummyClusterStats);


        NetRevAdapter netRevAdapter = new NetRevAdapter(context,listDataGroup,listDataChild);
        netRevAdapter.notifyDataSetChanged();
        return netRevAdapter;
    }

Мой адаптер:

public class NetRevAdapter extends BaseExpandableListAdapter {

    // group titles
    private List <String> listDataGroup;

    // child data
    private HashMap<String, List<String>> listDataChild;

    Context context;

    public NetRevAdapter(Context context, List<String> listDataGroup, HashMap<String, List<String>> listDataChild) {
        this.context = context;
        this.listDataGroup = listDataGroup;
        this.listDataChild = listDataChild;

    }

    @Override
    public int getGroupCount() {
        return this.listDataGroup.size();
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return this.listDataChild.get(this.listDataGroup.get(groupPosition))
                .size();
    }

    @Override
    public Object getGroup(int groupPosition) {
        return this.listDataGroup.get(groupPosition);
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        return this.listDataChild.get(this.listDataGroup.get(groupPosition))
                .get(childPosition);
    }

    @Override
    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        return childPosition;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
        String headerTitle = (String) getGroup(groupPosition);
        if (convertView == null) {
            LayoutInflater layoutInflater = (LayoutInflater) this.context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = layoutInflater.inflate(R.layout.item_netrev_header, null);
        }

        TextView textViewGroup = convertView
                .findViewById(R.id.textViewGroup);
        textViewGroup.setTypeface(null, Typeface.BOLD);
        textViewGroup.setText(headerTitle);

        return convertView;
    }

    @Override
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {

        final String childText = (String) getChild(groupPosition, childPosition);

        if (convertView == null) {
            LayoutInflater layoutInflater = (LayoutInflater) this.context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = layoutInflater.inflate(R.layout.item_netrev, null);
        }

        TextView textViewChild = convertView
                .findViewById(R.id.titleTextView);

        textViewChild.setText(childText);
        return convertView;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return false;
    }
}
...