用android view中的tag传送数据

今天突然意识到view中的tag是个好东东。可以用setTag()向里面存储数据,可以用getTag()取出之前存放的数据。例如:

ImageView image = new ImageView(this);
image.setTag("I am data!");

如果要存放多条数据怎么办呢?别急,还可以这样用:

PopupWindow p = new PopupWindow();
anchor.setTag(p);
image.setTag(R.id.screenFlag, anchor);
image.setOnClickListener(previewListener);

在其他地方就可以这样取:

OnClickListener previewListener = new OnClickListener() {
		@Override
		public void onClick(View v) {
			View fView = (View) v.getTag(R.id.screenFlag);
			PopupWindow p = (PopupWindow) fView.getTag();
			if (null != p) {
				((PopupWindow) fView.getTag()).dismiss();
			}
		}
	};

还有什么不能放的?

相关推荐