Я создаю класс, в котором я использую прокручиваемую панель инструментов с расширяемым списком, все работает нормально, но когда я нажимаю на расширяемый список, он не расширяется по мере необходимости, пожалуйста, помогите мне, если я что-то упустил. я создал класс адаптера и использовал его в своем основном классе.
public class MyAdapter extends BaseExpandableListAdapter
{
Context context;
List<String> listGroup;
HashMap<String, List<String>> listItems;
public MyAdapter(Context context, List<String> listGroup, HashMap<String,List<String>>
listItems) {
this.context = context;
this.listGroup = listGroup;
this.listItems = listItems;
}
@Override
public int getGroupCount() {
return listGroup.size();
}
@Override
public int getChildrenCount(int i) {
return this.listItems.get(this.listGroup.get(i)).size();
}
@Override
public Object getGroup(int i)
{ return this.listGroup.get(i); }
@Override
public Object getChild(int i, int i1) {return this.listItems.get(this.listGroup.get(i)).get(i1);
}
@Override
public long getGroupId(int i) {
return i;
}
@Override
public long getChildId(int i, int i1)
{
return i1;
}
@Override
public boolean hasStableIds()
{
return false;
}
@Override
public View getGroupView(int i, boolean b, View views, ViewGroup viewGroup) {
String group = (String) getGroup(i);
if (views== null){
LayoutInflater layoutInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
views = layoutInflater.inflate(R.layout.list_group,null);
}
TextView textView = views.findViewById(R.id.list_parent);
textView.setText(group);
return views;
}
@Override
public View getChildView(final int i, final int i1, boolean b, View view, final ViewGroup viewGroup) {
final String child = (String) getChild(i,i1);
if (view == null){
LayoutInflater layoutInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = layoutInflater.inflate(R.layout.list_items,null);
}
TextView textView = view.findViewById(R.id.text_view1);
textView.setText(child);
return view;
}
@Override
public boolean isChildSelectable(int i, int i1) {
return true;
}
}
Основным классом является класс прокрутки, в котором я использую расширяемый список
public class ScrollingActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
// Expandable list Definations
ExpandableListView expandable_list;
HashMap<String, List<String>> listitems;
List<String> listHeader;
MyAdapter myAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scrolling);
//FindViewById of Expandable Data List
expandable_list = findViewById(R.id.expandable_list);
listHeader = new ArrayList<>();
listitems = new HashMap<>();
myAdapter = new MyAdapter(this, listHeader, listitems);
expandable_list.setAdapter(myAdapter);
initlistData();
private void initlistData() {
listHeader.add(getString(R.string.group11));
String[] aray;
List<String> list = new ArrayList<>();
aray = getResources().getStringArray(R.array.group1);
for (String item : aray) {
list.add(item);
}
listitems.put(listHeader.get(0), list);
myAdapter.notifyDataSetChanged();
}
я редактировал основной коди просто вставьте основной код, единственная главная проблема в том, что все работает, но когда я нажимаю на свой расширяемый список, он не прокручивается, как требуется.