在WizarDroid中禁用后退按钮

时间:2014-09-10 18:46:57

标签: android wizard

我正在使用WizarDroid库,并创建一个简单的向导。

我想要做的是在最后一步我要禁用底部的后退按钮。我搜索过每一个地方,文档没有帮助我。

这是我的基本向导代码:

public class FormWizard extends BasicWizardLayout 
{
    public FormWizard() 
    {
        super();
    }

    @Override
    public WizardFlow onSetup() 
    {
        return new WizardFlow.Builder()
        /*
         * Mark this step as 'required', preventing the user from advancing to the
         * next step without selecting one option.
         */
        .addStep(Form1.class, true)
        .addStep(Form2.class, true)
        .addStep(Form3.class)
        .create();
    }

    @Override
    public void onWizardComplete()
    {
        super.onWizardComplete(); 

        // Terminate the wizard
        getActivity().finish(); 
    }
}

Form1,Form2和Form3只是扩展 WizardStep 并向用户显示一些数据。

在文档中定义了 wizard.goNext(); 方法,但在我的方案中不可用。

我只想禁止用户在到达Form3或最后一步后返回。

1 个答案:

答案 0 :(得分:0)

如果您正在谈论禁用软件/硬件(在主页按钮和菜单按钮旁边),那么您只需自己处理onPress。例如:

//FOR API 5-
@Override
public void onBackPressed() {
    Toast.makeText(getApplicationContext(), "Can't go back", Toast.LENGTH_LONG).show();
}

//FOR API 6+
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        Toast.makeText(getApplicationContext(), "Can't go back", Toast.LENGTH_LONG).show();
        return true;
    } else {
        return super.onKeyDown(keyCode, event);
    }
}