расширяемый список расширить группу через 5 секунд - PullRequest
0 голосов
/ 27 ноября 2018

Я использую расширяемый список.Когда я пытаюсь израсходовать группу, расширение группы занимает 5 секунд, а когда я щелкаю по другой группе, последняя израсходованная группа расходуется снова и снова 2-3 раза.Я сделал Google, но я не мог найти то, что я хочу.Как я могу это сделать?

Фрагмент, где используется Expendablelistview

 listDataHeader = new ArrayList<>();

    listDataChild = new HashMap<String, List<String>>();
    // Adding child data
    listDataHeader.add("Which method?");
    listDataHeader.add("What age can you start?");
    listDataHeader.add("When not to start?");
    listDataHeader.add("When do I start?");
    listDataHeader.add("Do I have to stay in forever for naps?");
    // Adding child data
    List<String> Which_method = new ArrayList<>();
    Which_method.add("group1");
    List<String> When_not = new ArrayList<>();
    When_not.add("Group2");
    List<String> What_age = new ArrayList<>();
    What_age.add("Group3");
    List<String> When_do = new ArrayList<>();
    When_do.add("Group4");
    List<String> Do_I_have = new ArrayList<>();
    Do_I_have.add("Group5");
    listDataChild.put(listDataHeader.get(0), Which_method); // Header, Child data
    listDataChild.put(listDataHeader.get(1), When_not);
    listDataChild.put(listDataHeader.get(2), What_age);
    listDataChild.put(listDataHeader.get(3), When_do);
    listDataChild.put(listDataHeader.get(4), Do_I_have);
    listAdapter = new ExpandableListAdapt(getContext(), listDataHeader, listDataChild);
    expListView.setAdapter(listAdapter);

ExpendableAdapter

public class ExpandableListAdapt extends BaseExpandableListAdapter {

private Context context;
private List<String> header;
private HashMap<String, List<String>> expendedData;
private MarkdownView markdownView;
private TextView txtlistHeader;
private String childtext;

public ExpandableListAdapt(Context context, List<String> header, HashMap<String, List<String>> expendedData) {
    this.context = context;
    this.header = header;
    this.expendedData = expendedData;
}

@Override
public void registerDataSetObserver(DataSetObserver dataSetObserver) {

}

@Override
public void unregisterDataSetObserver(DataSetObserver dataSetObserver) {

}

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

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

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

@Override
public Object getChild(int groupPosition, int childPosition) {
    return this.expendedData.get(this.header.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;
}

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {


    LayoutInflater inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convertView = inflater.inflate(R.layout.list_group, null);

    String headTitle = (String) getGroup(groupPosition);
    txtlistHeader = convertView.findViewById(R.id.lblListheader);
   // Typeface regularMon = Typeface.createFromAsset(convertView.getResources().getAssets(), "Montserrat-Regular.otf");

    txtlistHeader.setText(headTitle);


    return convertView;
}

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View view, ViewGroup parent) {

    LayoutInflater inflate = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    view = inflate.inflate(R.layout.list_item_child, parent,false);

    childtext = (String) getChild(groupPosition, childPosition);
    markdownView = view.findViewById(R.id.lblListitem);

    markdownView.loadMarkdown(childtext);
    //Setting Resource


    return view;
}

@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...