Fixed Warnings

This commit is contained in:
Caesar2011
2018-11-13 01:39:12 +01:00
parent 6daa41cbcd
commit a879a085b4

View File

@@ -17,6 +17,7 @@ import androidx.recyclerview.widget.RecyclerView;
/** /**
* Created by tlh on 2016/10/1 :) * Created by tlh on 2016/10/1 :)
*/ */
@SuppressWarnings("unused")
public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private static final String KEY_IS_EXPAND = "IS_EXPAND"; private static final String KEY_IS_EXPAND = "IS_EXPAND";
private final List<? extends TreeViewBinder> viewBinders; private final List<? extends TreeViewBinder> viewBinders;
@@ -42,7 +43,7 @@ public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
* @param nodes 基准点 * @param nodes 基准点
*/ */
private void findDisplayNodes(List<TreeNode> nodes) { private void findDisplayNodes(List<TreeNode> nodes) {
for (TreeNode node : nodes) { for (TreeNode<?> node : nodes) {
displayNodes.add(node); displayNodes.add(node);
if (!node.isLeaf() && node.isExpand()) if (!node.isLeaf() && node.isExpand())
findDisplayNodes(node.getChildList()); findDisplayNodes(node.getChildList());
@@ -54,8 +55,9 @@ public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
return displayNodes.get(position).getContent().getLayoutId(); return displayNodes.get(position).getContent().getLayoutId();
} }
@NonNull
@Override @Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()) View v = LayoutInflater.from(parent.getContext())
.inflate(viewType, parent, false); .inflate(viewType, parent, false);
if (viewBinders.size() == 1) if (viewBinders.size() == 1)
@@ -68,8 +70,8 @@ public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
} }
@Override @Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position, List<Object> payloads) { public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position, @NonNull List<Object> payloads) {
if (payloads != null && !payloads.isEmpty()) { if (!payloads.isEmpty()) {
Bundle b = (Bundle) payloads.get(0); Bundle b = (Bundle) payloads.get(0);
for (String key : b.keySet()) { for (String key : b.keySet()) {
switch (key) { switch (key) {
@@ -84,44 +86,42 @@ public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
} }
@Override @Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, int position) {
holder.itemView.setPadding(displayNodes.get(position).getHeight() * padding, 3, 3, 3); holder.itemView.setPadding(displayNodes.get(position).getHeight() * padding, 3, 3, 3);
holder.itemView.setOnClickListener(new View.OnClickListener() { holder.itemView.setOnClickListener(v -> {
@Override TreeNode selectedNode = displayNodes.get(holder.getLayoutPosition());
public void onClick(View v) { // Prevent multi-click during the short interval.
TreeNode selectedNode = displayNodes.get(holder.getLayoutPosition()); try {
// Prevent multi-click during the short interval. long lastClickTime = (long) holder.itemView.getTag();
try { if (System.currentTimeMillis() - lastClickTime < 500)
long lastClickTime = (long) holder.itemView.getTag(); return;
if (System.currentTimeMillis() - lastClickTime < 500) } catch (Exception e) {
return;
} catch (Exception e) {
holder.itemView.setTag(System.currentTimeMillis());
}
holder.itemView.setTag(System.currentTimeMillis()); holder.itemView.setTag(System.currentTimeMillis());
}
holder.itemView.setTag(System.currentTimeMillis());
if (onTreeNodeListener != null && onTreeNodeListener.onClick(selectedNode, holder)) if (onTreeNodeListener != null && onTreeNodeListener.onClick(selectedNode, holder))
return; return;
if (selectedNode.isLeaf()) if (selectedNode.isLeaf())
return; return;
// This TreeNode was locked to click. // This TreeNode was locked to click.
if (selectedNode.isLocked()) return; if (selectedNode.isLocked()) return;
boolean isExpand = selectedNode.isExpand(); boolean isExpand = selectedNode.isExpand();
int positionStart = displayNodes.indexOf(selectedNode) + 1; int positionStart = displayNodes.indexOf(selectedNode) + 1;
if (!isExpand) { if (!isExpand) {
notifyItemRangeInserted(positionStart, addChildNodes(selectedNode, positionStart)); notifyItemRangeInserted(positionStart, addChildNodes(selectedNode, positionStart));
} else { } else {
notifyItemRangeRemoved(positionStart, removeChildNodes(selectedNode, true)); notifyItemRangeRemoved(positionStart, removeChildNodes(selectedNode, true));
}
} }
}); });
for (TreeViewBinder viewBinder : viewBinders) { for (TreeViewBinder viewBinder : viewBinders) {
if (viewBinder.getLayoutId() == displayNodes.get(position).getContent().getLayoutId()) if (viewBinder.getLayoutId() == displayNodes.get(position).getContent().getLayoutId())
//noinspection unchecked
viewBinder.bindView(holder, position, displayNodes.get(position)); viewBinder.bindView(holder, position, displayNodes.get(position));
} }
} }
private int addChildNodes(TreeNode pNode, int startIndex) { private int addChildNodes(TreeNode<?> pNode, int startIndex) {
List<TreeNode> childList = pNode.getChildList(); List<TreeNode> childList = pNode.getChildList();
int addChildCount = 0; int addChildCount = 0;
for (TreeNode treeNode : childList) { for (TreeNode treeNode : childList) {
@@ -139,7 +139,7 @@ public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
return removeChildNodes(pNode, true); return removeChildNodes(pNode, true);
} }
private int removeChildNodes(TreeNode pNode, boolean shouldToggle) { private int removeChildNodes(TreeNode<?> pNode, boolean shouldToggle) {
if (pNode.isLeaf()) if (pNode.isLeaf())
return 0; return 0;
List<TreeNode> childList = pNode.getChildList(); List<TreeNode> childList = pNode.getChildList();
@@ -287,7 +287,7 @@ public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
notifyDiff(temp); notifyDiff(temp);
} }
public void collapseBrotherNode(TreeNode pNode) { public void collapseBrotherNode(TreeNode<LayoutItemType> pNode) {
List<TreeNode> temp = backupDisplayNodes(); List<TreeNode> temp = backupDisplayNodes();
if (pNode.isRoot()) { if (pNode.isRoot()) {
List<TreeNode> roots = new ArrayList<>(); List<TreeNode> roots = new ArrayList<>();
@@ -301,7 +301,7 @@ public class TreeViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
removeChildNodes(root); removeChildNodes(root);
} }
} else { } else {
TreeNode parent = pNode.getParent(); TreeNode<?> parent = pNode.getParent();
if (parent == null) if (parent == null)
return; return;
List<TreeNode> childList = parent.getChildList(); List<TreeNode> childList = parent.getChildList();