问题描述
我想在单击每个组视图时显示展开子视图。但是现在它没有展开。如果我给出list.expandgroup(0),则第一个组视图将展开,并且所有子视图的值将在另一个组childview上更新。我的子视图列表是从api response.i存储的arraylist对象,我想按点击扩展所有子组。 .pls帮助
public class OrderHistoryAdapter extends Baseexpandablelistadapter {
private List<OrderHistoryObj> orderHistoryObjList;// group list
private List<OrderDetailObj> orderDetailObjList;//child list
private Context mContext;
OnorderListner onorderListner;
private LayoutInflater inflater;
public OrderHistoryAdapter(Context mContext,List<OrderHistoryObj>
orderHistoryObjList,List<OrderDetailObj> orderDetailObjList,OnorderListner onorderListner) {
// Create Layout Inflator
this.orderHistoryObjList = orderHistoryObjList;
this.orderDetailObjList = orderDetailObjList;
this.mContext = mContext;
this.onorderListner=onorderListner;
inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getGroupCount() {
return orderHistoryObjList.size();
}
@Override
public int getChildrenCount(int i) {
return 1;
}
@Override
public Object getGroup(int i) {
return null;
}
@Override
public Object getChild(int i,int i1) {
return null;
}
@Override
public long getGroupId(int i) {
return 0;
}
@Override
public long getChildId(int i,int i1) {
return 0;
}
@Override
public boolean hasstableIds() {
// returns if the ids are specific ( unique for each group or item)
// or relatives
return false;
}
@Override
public View getGroupView(int i,boolean b,View view,ViewGroup viewGroup){
if (view == null) {
view = inflater.inflate(R.layout.row_order_history_layout,viewGroup,false);
}
final OrderHistoryObj item = orderHistoryObjList.get(i);
TextView order_id_value = (TextView) view.findViewById(R.id.order_id_value);
TextView order_placed_value = (TextView) view.findViewById(R.id.order_placed_value);
final String order_id=item.getorder_id();
String order_date=item.getorder_date();
order_id_value.setText(order_id);
order_placed_value.setText(order_date);
view.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onorderListner.onorderId(order_id);
}
});
return view;
}
@Override
public View getChildView(int i,int i1,ViewGroup viewGroup) {
if (view == null) {
view = inflater.inflate(R.layout.row_order_history_sub_layout,false);
}
OrderDetailObj item = orderDetailObjList.get(i);
((TextView) view.findViewById(R.id.store_name)).setText(item.getShop_name());
((TextView) view.findViewById(R.id.billing_id_value)).setText(item.getBill_id());
((TextView) view.findViewById(R.id.amount_value)).setText(item.getAmount());
Button view_but = (Button) view.findViewById(R.id.view_but);
return view;
}
@Override
public boolean isChildSelectable(int groupPosition,int childPosition) {
return true;
}
}
> Main activity populate layout
private void populateLayout(final List<OrderDetailObj> list) {
orderHistoryAdapter = new OrderHistoryAdapter(OrdeHistoryList.this,orderHistoryObjList,list,onorderListner);
order_history_recycle.setAdapter(orderHistoryAdapter);
order_history_recycle.setonGroupClickListener(new ExpandableListView.OnGroupClickListener() {
public boolean onGroupClick(ExpandableListView arg0,View itemView,int itemPosition,long
itemId)
{
order_history_recycle.expandGroup(itemPosition);
return true;
}
});
order_history_recycle.setonGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
if (lastPosition != -1
&& groupPosition != lastPosition) {
order_history_recycle.collapseGroup(lastPosition);
}
lastPosition = groupPosition;
}
});
order_history_recycle.setonChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView expandableListView,int i,long l) {
return false;
}
});
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)