您的位置:首页 > 其它

View的setTag()和getTag()方法的使用

2012-04-23 14:14 288 查看
view的setTag()和getTag()方法的使用
今天修改树的时候,有一点点感受,所以记录下来。

View的setTag和getTag方法可以给view的子控件绑定一个Object对象。我自己理解的——呵呵

tag顾名思义就是标签的意思,给view的子控件添加一个标签,可以根据标签判断给view不同的子控件,或者view相同的子控件添加不同的触发事件。

部分代码:

TextView labelText = new TextView(parent.getContext());
labelText.setTag(treeNode); //绑定一个Object对象

labelText.setId(2);
labelText.setText(label);
labelText.setOnClickListener(imageClickListener);
View.OnClickListener imageClickListener = new View.OnClickListener(){
public void onClick(View v) {
final Map<String, Object> treeNodePosition = (Map<String, Object>)v.getTag();//获取所绑定的Object
Log.i("tree","treeNodePosition"+treeNodePosition);
final int stage = (Integer)treeNodePosition.get("stage");
Log.i("tree","treeNodePosition--stage="+treeNodePosition.get("stage"));
final int position = (Integer)treeNodePosition.get("position");
Log.i("tree","treeNodePosition--position="+treeNodePosition.get("position"));

if(treeNodePosition.containsKey("ns")){
Log.i("tree","treeNodePosition--ns="+treeNodePosition.get("ns"));
if(treeNodePosition.get("expanded").equals("1")){
Log.i("tree","treeNodePosition--expanded="+treeNodePosition.get("expanded"));
removeChildTreeNodes(String.valueOf(treeNodePosition.get("id")));
treeNodePosition.put("expanded", "0");
for(int i = 0; i< treeNodes.size(); i++){
Map<String, Object> tempTreeNode = treeNodes.get(i);
tempTreeNode.put("position", i);
}
setTreeNodes(treeNodes);
notifyDataSetChanged();
return;
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: