首页 新闻 搜索 专区 学院

菜鸟android开发滑动时遇到的问题!

0
悬赏园豆:80 [已关闭问题] 关闭于 2013-10-18 18:20

我在开发滑动时;点击一下图片跳转到浏览器!
我用的是 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;
    }

Azeri的主页 Azeri | 菜鸟二级 | 园豆:202
提问于:2013-10-17 22:05
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册