ViewStub的一些不常见的用法

ViewStub可以用来实现局部页面跳转的功能,让一些View先隐藏,点击后可显示,view显示后有一些点击操作,我想获得他的ontouch事件进行点击,但直接设置view.setOnClickListener,没反应,经过几番周折发现它有个setOnInflateListener,它是用来监听ViewStub Inflate后的操作,把对ViewStub的操作放到这里面即可,个人判断,若ViewStub里有一些控件需要捕获并设置监听,也是需要在这里写。

viewStub.setOnInflateListener(new OnInflateListener() {
			
			@Override
			public void onInflate(ViewStub stub, View inflated) {
				// TODO Auto-generated method stub
				Log.v("~~~~viewStub.setOnInflateListener~~~~~~", "zhixing");
				
				inflated.setOnTouchListener(new OnTouchListener() {
					
					@Override
					public boolean onTouch(View v, MotionEvent event) {
						// TODO Auto-generated method stub
						Log.v("~~~~viewStub.setOnInflateLi22stener~~~~~~", "zhi22xing:"+event.getY());
						return false;
					}
				});
				
			}
		});

刚本想写写我遇到的问题,但中途想起一个办法,问题了一半,就是viewStub显示时,需要加载动画也是写在这里面,但是接下来就产生另一个问题:动画只在第一次加载时产生,之后就不产生,这是为什么?这个setOnInflateListener是怎么一个调用机制?待解。。。

你可能感兴趣的:(ViewStub的一些不常见的用法)