我在开发滑动时;点击一下图片跳转到浏览器!
我用的是 implements OnGestureListener 和 ViewFlipper 来做的滑动!在点击要重View TextView控件 里面来获取跳转链接,现在我在点事件onSingleTapUp 里面找不到TextView 及值,因为我的TextView 是代码添加进去的
RemoteImageHelper lazyImageHelper = new RemoteImageHelper();
ViewFlipper flipper;
GestureDetector detector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nvxiutu);
detector = new GestureDetector(this);
flipper = (ViewFlipper) this.findViewById(R.id.vw_Flipper);
flipper.addView(addImageView("http://www.kuluba.com/res/dx315/img/activity/di1-1-1.jpg"));
flipper.addView(addImageView("http://www.kuluba.com/res/dx315/img/activity/di1-1-2.jpg"));
flipper.addView(addImageView("http://www.kuluba.com/res/dx315/img/activity/di1-1-3.jpg"));
flipper.addView(addImageView("http://www.kuluba.com/res/dx315/img/activity/di1-1-4.jpg"));
flipper.addView(addImageView("http://www.kuluba.com/res/dx315/img/activity/di1-1-5.jpg"));
}
private View addImageView(String url) {
RelativeLayout layout = new RelativeLayout(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);
ImageView imageView = new ImageView(this);
lazyImageHelper.loadImage(imageView, url);
imageView.setScaleType(ScaleType.FIT_XY);
TextView textView = new TextView(this);
textView.setVisibility(View.GONE);
textView.setText(url);
layout.addView(imageView, params);
layout.addView(textView);
return layout;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return this.detector.onTouchEvent(event);
}
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if (e1.getX() - e2.getX() > 120) {
flipper.setInAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_left_in));
this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_left_out));
this.flipper.showNext();
return true;
} else if (e1.getX() - e2.getX() < -120) {
this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_right_in));
this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,
R.anim.push_right_out));
this.flipper.showPrevious();
return true;
}
return false;
}
@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
View vding = getWindow().getDecorView();
if (vding instanceof ViewFlipper) {
Log.i("@fred", "ViewFlipper");
return true;
}
if (vding instanceof RelativeLayout) {
Log.i("@fred", "RelativeLayout");
return true;
}
if (vding instanceof TextView) {
Log.i("@fred", "TextView");
return true;
}
if (vding instanceof ImageView) {
Log.i("@fred", "ImageView");
return true;
}
if (vding instanceof LinearLayout) {
Log.i("@fred", "LinearLayout");
return true;
}
// for (int i = 0; i < vding.getChildCount(); i++) {
// View child = vding.getChildAt(i);
// if (child instanceof TextView) {
// TextView t = (TextView) child;
// Log.i("@fred", t.getText().toString());
// return true;
// }
// }
return false;
}