package cn.crane.application.greenlife.view.sticky;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.ExpandableListView;
import cn.crane.application.greenlife.R;
import cn.crane.application.greenlife.bean.merchant.FoodGroup;
import com.nineoldandroids.view.ViewHelper;
public class CustomExpandableListView extends ExpandableListView
{
public static final String TAG = "CustomExpandableListView";
public CustomExpandableListView(Context context)
{
super(context);
}
public CustomExpandableListView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
public CustomExpandableListView(Context context, AttributeSet attrs, int defStyleAttr)
{
super(context, attrs, defStyleAttr);
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt)
{
super.onScrollChanged(l, t, oldl, oldt);
if(onScrollChangedListener != null)
onScrollChangedListener.onScrollChanged(l, t, oldl, oldt);
}
private OnScrollChangedListener onScrollChangedListener;
public void setOnScrollChangedListener(OnScrollChangedListener onScrollChangedListener)
{
this.onScrollChangedListener = onScrollChangedListener;
}
public interface OnScrollChangedListener
{
public void onScrollChanged(int x, int y, int oldx, int oldy);
}
private int posMonthX;
public int getItemPosition()
{
{
try
{
int itemTitleH = getChildAt(0).getHeight();
for (int i = 0; i < getChildCount(); i++)
{
Object obj = getChildAt(i).getTag(R.id.tag_data);
if (!(obj instanceof FoodGroup))
{
continue;
}
itemTitleH = getChildAt(i).getHeight();
int lenBeforeMonth = (int) (ViewHelper.getY(getChildAt(i)) - itemTitleH);
int posMonthX = getScrollY() - lenBeforeMonth;
if (posMonthX > 0 && posMonthX < itemTitleH)
{
this.posMonthX = posMonthX;
return posMonthX;
}
else
{
this.posMonthX = 0;
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
return posMonthX;
}
}