Android 是否可以将expandablelistview用作具有多个select的微调器的下拉视图?
我使用的是一个按钮和一个包含ExpandableListView的AlertDialog。 同时在子行中放置一个复选框,它可以用于单选,但不等待多选Android 是否可以将expandablelistview用作具有多个select的微调器的下拉视图?,android,spinner,expandablelistview,Android,Spinner,Expandablelistview,我使用的是一个按钮和一个包含ExpandableListView的AlertDialog。 同时在子行中放置一个复选框,它可以用于单选,但不等待多选 当我使用multiple select时,我必须在对话框外单击以终止对话框。好的,我正在回答我自己的问题,现在它可以工作了。我只是使用“检查”和“不检查”图像来显示是否选中了子类别 步骤: 在工具栏/操作栏上创建一个按钮,使UI像微调器一样 Button btn_filter = (Button)layoutView.findViewById(R.
当我使用multiple select时,我必须在对话框外单击以终止对话框。好的,我正在回答我自己的问题,现在它可以工作了。我只是使用“检查”和“不检查”图像来显示是否选中了子类别 步骤:
Button btn_filter = (Button)layoutView.findViewById(R.id.filters);
btn_filter.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialogFilter.show();
}
});
WindowManager.LayoutParams wmlp = dialogFilter.getWindow().getAttributes();
wmlp.gravity = Gravity.TOP | Gravity.LEFT;
wmlp.x = 10; //x position
wmlp.y = 100; //y position
public class FilterCategory {
public String category_name = null;
public ArrayList<SubCategory> subcategory_array = new ArrayList<SubCategory>();
}
public class SubCategory {
public String subcategory_name = null;
public boolean selected = false;
}
@Override
public View getGroupView(int groupPosition, boolean arg1, View view, ViewGroup parent) {
GroupHolder groupHolder;
if (view == null) {
view = LayoutInflater.from(mContext).inflate(R.layout.group_row,null);
groupHolder = new GroupHolder();
groupHolder.img = (ImageView) view.findViewById(R.id.tab_img);
groupHolder.title = (TextView) view.findViewById(R.id.group_name);
view.setTag(groupHolder);
} else {
groupHolder = (GroupHolder) view.getTag();
}
groupHolder.title.setText(mGroupCollection.get(groupPosition).category_name);
if(arg1){
groupHolder.img.setImageResource(R.drawable.dropdown_small_arrow_converted);
}else{
groupHolder.img.setImageResource(R.drawable.right_small_arrow_converted);
}
return view;
}
@Override
public View getChildView(final int groupPosition, final int childPosition, boolean arg2, View convertView,ViewGroup parent)
{
final ChildHolder childHolder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.child_row, null);
childHolder = new ChildHolder();
childHolder.checkBox = (ImageView)convertView.findViewById(R.id.checkbox);
childHolder.name=(TextView)convertView.findViewById(R.id.childname);
convertView.setTag(childHolder);
} else {
childHolder = (ChildHolder) convertView.getTag();
}
childHolder.name.setText(mGroupCollection.get(groupPosition).subcategory_array.get(childPosition).subcategory_name);
if(mGroupCollection.get(groupPosition).subcategory_array.get(childPosition).selected) {
childHolder.checkBox.setVisibility(View.VISIBLE);
} else {
childHolder.checkBox.setVisibility(View.GONE);
}
return convertView;
}
@Override
public View getGroupView(int groupPosition, boolean arg1, View view, ViewGroup parent) {
GroupHolder groupHolder;
if (view == null) {
view = LayoutInflater.from(mContext).inflate(R.layout.group_row,null);
groupHolder = new GroupHolder();
groupHolder.img = (ImageView) view.findViewById(R.id.tab_img);
groupHolder.title = (TextView) view.findViewById(R.id.group_name);
view.setTag(groupHolder);
} else {
groupHolder = (GroupHolder) view.getTag();
}
groupHolder.title.setText(mGroupCollection.get(groupPosition).category_name);
if(arg1){
groupHolder.img.setImageResource(R.drawable.dropdown_small_arrow_converted);
}else{
groupHolder.img.setImageResource(R.drawable.right_small_arrow_converted);
}
return view;
}
@Override
public View getChildView(final int groupPosition, final int childPosition, boolean arg2, View convertView,ViewGroup parent)
{
final ChildHolder childHolder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.child_row, null);
childHolder = new ChildHolder();
childHolder.checkBox = (ImageView)convertView.findViewById(R.id.checkbox);
childHolder.name=(TextView)convertView.findViewById(R.id.childname);
convertView.setTag(childHolder);
} else {
childHolder = (ChildHolder) convertView.getTag();
}
childHolder.name.setText(mGroupCollection.get(groupPosition).subcategory_array.get(childPosition).subcategory_name);
if(mGroupCollection.get(groupPosition).subcategory_array.get(childPosition).selected) {
childHolder.checkBox.setVisibility(View.VISIBLE);
} else {
childHolder.checkBox.setVisibility(View.GONE);
}
return convertView;
}