package zaihuishou.com.expandablerecyclerview;
import android.animation.ObjectAnimator;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.zaihuishou.expandablerecycleradapter.viewholder.AbstractExpandableAdapterItem;
public class CompanyItem extends AbstractExpandableAdapterItem {
private TextView mName;
private ImageView mArrow;
private Company mCompany;
@Override
public int getLayoutResId() {
return R.layout.item_company;
}
@Override
public void onBindViews(final View root) {
/**
* control item expand and unexpand
*/
root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
doExpandOrUnexpand();
Toast.makeText(root.getContext(), "click company:" +mCompany.name,Toast.LENGTH_SHORT).show();
}
});
mName = (TextView) root.findViewById(R.id.tv_name);
mArrow = (ImageView) root.findViewById(R.id.iv_arrow);
}
@Override
public void onExpansionToggled(boolean expanded) {
float start, target;
if (expanded) {
start = 0f;
target = 90f;
} else {
start = 90f;
target = 0f;
}
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(mArrow, View.ROTATION, start, target);
objectAnimator.setDuration(300);
objectAnimator.start();
}
@Override
public void onSetViews() {
mArrow.setImageResource(0);
mArrow.setImageResource(R.mipmap.arrow_down);
}
@Override
public void onUpdateViews(Object model, int position) {
super.onUpdateViews(model, position);
onSetViews();
onExpansionToggled(getExpandableListItem().isExpanded());
mCompany = (Company) model;
mName.setText(mCompany.name);
}
}