【问题标题】:Disable Back button in WizarDroid在 WizarDroid 中禁用后退按钮
【发布时间】:2014-09-10 18:46:56
【问题描述】:

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

我要做的是在最后一步我想禁用底部的 Back 按钮。我到处搜索,但文档对我没有帮助。

这是我的基本向导代码:

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 或最后一步后返回。

【问题讨论】:

    标签: android wizard


    【解决方案1】:

    如果您正在谈论禁用软件/硬件(在主页按钮和菜单按钮旁边),那么您只需自己处理 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);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多