android_ExpandableListViewドロップダウンリストの使用
2629 ワード
ExpandableListViewの使用をまとめます
ExpandableListViewとListViewの使い方の差は少なく、独自のアダプタもあり、自分のニーズに合わせてBaseExpandableListAdapterを継承し、自分でアダプタを書くことができます
先に効果図を載せる
ListViewとの用法差が少なく、項目から外したコード
ExpandableListViewとListViewの使い方の差は少なく、独自のアダプタもあり、自分のニーズに合わせてBaseExpandableListAdapterを継承し、自分でアダプタを書くことができます
先に効果図を載せる
ListViewとの用法差が少なく、項目から外したコード
<span style="white-space:pre"> </span>inEditText = (EditText) findViewById(R.id.infusion_et_in);
e_lv = (ExpandableListView) findViewById(R.id.infusion_elv);
e_lv.setAdapter(new InfusionParentAdapter(getApplication()));
public class InfusionParentAdapter extends BaseExpandableListAdapter {
private Context context;
private String[] generalsTypes = new String[] { " ", " " };
private String[][] generals = new String[][] { { "1", "2", "3" },
{ "4", "5", "6" } };
public InfusionParentAdapter() {
}
public InfusionParentAdapter(Context context) {
this.context = context;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return generals[groupPosition][childPosition];
}
@Override
public long getChildId(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return childPosition;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
convertView = LayoutInflater.from(context).inflate(
R.layout.list_item_child, null);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
// TODO Auto-generated method stub
return generals[0].length;
}
@Override
public Object getGroup(int groupPosition) {
// TODO Auto-generated method stub
return generalsTypes[groupPosition];
}
@Override
public int getGroupCount() {
// TODO Auto-generated method stub
return generalsTypes.length;
}
@Override
public long getGroupId(int groupPosition) {
// TODO Auto-generated method stub
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
convertView=LayoutInflater.from(context).inflate(R.layout.list_item_infusion_elistview, null);
return convertView;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return false;
}
}
parentは拡張されたListViewを表し、Childはドロップダウンリストの内容を表し、残りはListViewの使い方と同じです