我正在创建一个类,其中我正在使用带有可扩展列表的滚动工具栏,每件事都工作正常,但是当我单击可扩展列表时,它无法按我的要求扩展,如果我缺少某些东西,请帮帮我。我已经创建了Adapter类并在我的主类中使用了它。
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();
}
我已经编辑了主代码,只是粘贴了主代码,唯一的主要问题是每件事都在起作用,但是当我单击可扩展列表时,它就不会按要求滚动。
lists
,然后将adapter
设置为expandablelistview
!