package tellh.com.gitclub.presentation.view.adapter.viewbinder; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import tellh.com.gitclub.R; import tellh.com.gitclub.model.entity.Dir; import tellh.com.recyclertreeview_lib.TreeNode; import tellh.com.recyclertreeview_lib.TreeViewBinder; /** * Created by tlh on 2016/10/1 :) */ public class DirectoryNodeBinder extends TreeViewBinder<DirectoryNodeBinder.ViewHolder> { @Override public ViewHolder provideViewHolder(View itemView) { return new ViewHolder(itemView); } @Override public void bindView(ViewHolder holder, int position, TreeNode node) { holder.ivArrow.setRotation(0); holder.ivArrow.setImageResource(R.drawable.ic_arrow_right); int rotateDegree = node.isExpand() ? 90 : 0; holder.ivArrow.setRotation(rotateDegree); Dir dirNode = (Dir) node.getContent(); holder.tvName.setText(dirNode.dirName); if (node.isLeaf()) holder.ivArrow.setVisibility(View.INVISIBLE); else holder.ivArrow.setVisibility(View.VISIBLE); } @Override public int getLayoutId() { return R.layout.item_dir; } public static class ViewHolder extends TreeViewBinder.ViewHolder { private ImageView ivArrow; private TextView tvName; public ViewHolder(View rootView) { super(rootView); this.ivArrow = (ImageView) rootView.findViewById(R.id.iv_arrow); this.tvName = (TextView) rootView.findViewById(R.id.tv_name); } public ImageView getIvArrow() { return ivArrow; } public TextView getTvName() { return tvName; } } }