在android中的不同片段之间的ove

时间:2016-02-09 10:19:37

标签: android android-fragments android-viewpager fragment

我有五种不同类型的视图寻呼机片段。每个片段都有一个imageview,如果我点击该图像,下一个片段将像我计划和处理它一样取代当前片段。从我的作品中,如果我点击第一个片段上的图像,它将完美地移动到第二个片段。但是,如果我点击第二个片段上的图像,它会向我提取第四个片段而不是第三个片段。我该如何修理那个。

我在活动中使用过的监听器:

@Override
    public void onMoveFragmentDialog() {
        // TODO Auto-generated method stub
        pager.setCurrentItem(pager.getCurrentItem() + 1,true);
    }

片段上的图片:

yesOptionImage.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            MoveYesorNo_FragmentListener moveyesnoFragment = (MoveYesorNo_FragmentListener) getActivity();
            yesOptionImage.setImageResource(R.drawable.yesactive);
            noOptionImage.setImageResource(R.drawable.no);
            GetAnswer.question=getArguments().getString(Ques1);
            GetAnswer.questionCode=getArguments().getString(QuesCode1);
            GetAnswer.questionType=getArguments().getString(QuesType1);
            GetAnswer.answer="Yes";
            moveyesnoFragment.onMoveYesorNoFragmentDialog();
            return false;
        }
    });

1 个答案:

答案 0 :(得分:0)

yesOptionImage.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
 int action = event.getAction()
switch (action) {
    case MotionEvent.ACTION_DOWN:
          MoveYesorNo_FragmentListener moveyesnoFragment =      (MoveYesorNo_FragmentListener) getActivity();
            yesOptionImage.setImageResource(R.drawable.yesactive);
            noOptionImage.setImageResource(R.drawable.no);
            GetAnswer.question=getArguments().getString(Ques1);
            GetAnswer.questionCode=getArguments().getString(QuesCode1);
            GetAnswer.questionType=getArguments().getString(QuesType1);
            GetAnswer.answer="Yes";
            moveyesnoFragment.onMoveYesorNoFragmentDialog();
        return true;

        }

            return false;
        }
    });