0

我正在尝试实现一个基于选项卡的视图,其中用户可以使用滑动手势在选项卡之间切换。但是,同一活动的多个实例会在滑动时打开。我怎样才能防止这种情况?谢谢

public boolean onTouch(View v, MotionEvent event) {
    switch(event.getAction() & MotionEvent.ACTION_MASK){

    case MotionEvent.ACTION_DOWN:
        initialx=event.getX();
        initialy=event.getY();
        break;

    case MotionEvent.ACTION_UP:
        break;

    case MotionEvent.ACTION_MOVE:
        finalx=event.getX();
        finaly=event.getY();

        if (initialx>(finalx+150.0)){

            RadioGroup Options = (RadioGroup) findViewById(R.id.vOptions);
            int selectedId = Options.getCheckedRadioButtonId();
            final EditText QuestionNo = (EditText)findViewById(R.id.vnumberofquestions);
            final EditText Time = (EditText)findViewById(R.id.vtimeperquestion);

            if ((QuestionNo.getText().toString().equals(" ")) || (Time.getText().toString().equals("")) ||(selectedId==-1)) { 
                Intent intenta=new Intent(VerbalSelect.this, TabDisplay.class );
                intenta.putExtra("index", 0);
                startActivity(intenta);
            }
            else {   
                RadioButton selectedButton = (RadioButton) findViewById(selectedId);
                String testtype = (String) selectedButton.getText(); 
                int questionno = Integer.parseInt(QuestionNo.getText().toString());
                int timeperquestion = Integer.parseInt(Time.getText().toString());
                long timeroffset = questionno*timeperquestion;
                Intent intent=new Intent(VerbalSelect.this, Main.class);

                intent.putExtra("testtype", testtype);
                intent.putExtra("timeroffset",timeroffset);
                intent.putExtra("questionno","1");
                intent.putExtra("questionlimit", questionno);
                startActivity(intent);
            }
            break;
        }
    }
    return true;
}
4

1 回答 1

0

ViewPager在 Android 支持库中查看。您在现有的 Android 设备上看到的大多数这种形式的 UI 都使用这个组件。

每个页面都被实现为FragmentViews 或布局,而不是完整的 Activity。这允许在页面之间进行干净的滑动和动画,并避免您拥有多个活动的问题。

要提供与选项卡的集成,您可以使用PagerTabStrip开箱即用的方式,或者对于更传统样式的选项卡,请参阅 SDK 随附的 Support4Demos 示例中的代码示例。它可以在<sdk>/extras/android/compatibility/v4/samples/Support4Demos您安装 SDK 的任何位置找到。该FragmentTabsPager演示是您正在寻找的。

于 2012-08-26T18:17:20.087 回答