用android view中的tag传送数据

今天突然意识到view中的tag是个好东东。可以用setTag()向里面存储数据,可以用getTag()取出之前存放的数据。例如: 
Java代码   收藏代码
  1. ImageView image = new ImageView(this);  
  2. image.setTag("I am data!");  

如果要存放多条数据怎么办呢?别急,还可以这样用: 
Java代码   收藏代码
  1. PopupWindow p = new PopupWindow();  
  2. anchor.setTag(p);  
  3. image.setTag(R.id.screenFlag, anchor);  
  4. image.setOnClickListener(previewListener);  

在其他地方就可以这样取: 
Java代码   收藏代码
  1. OnClickListener previewListener = new OnClickListener() {  
  2.         @Override  
  3.         public void onClick(View v) {  
  4.             View fView = (View) v.getTag(R.id.screenFlag);  
  5.             PopupWindow p = (PopupWindow) fView.getTag();  
  6.             if (null != p) {  
  7.                 ((PopupWindow) fView.getTag()).dismiss();  
  8.             }  
  9.         }  
  10.     };  

还有什么不能放的?

你可能感兴趣的:(用android view中的tag传送数据)