我正在使用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或最后一步后返回。
答案 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);
}
}